1

这有点奇怪。我的程序无法将输出写入文件。它甚至没有显示任何错误。我同时使用标准输出,发现它的显示..

这是我的代码:(Python 2.7)

#!/usr/bin/env python


import re

def isRecycled(n,m):
    n = str(n)
    m = str(m)

    try:
        ...........
        ...........
        My Code.

    except ValueError:
        return False

ip = open("C-small-attempt0.in", "r")
op = open("output.txt", "a")
for num, eachLine in enumerate( ip.readlines()[1:] ):
    ......
    ......
    My code

    ## This is WORKING
    print "Case #%d: %d" %(num+1, count)

    ## This is NOT Working
    op.write("Case #%d: %d" %(num+1, count))

谁能告诉我为什么这不写入文件。

我尝试使用"w+","w"模式和writelines()方法,但它们没有用。

已编辑

但是,当我使用关闭文件时它起作用了op.close()

  1. 为什么会这样?(之前没遇到过)
  2. python一找到就立即写入文件op.write()吗?
4

3 回答 3

3

您需要关闭文件才能将其写入磁盘。将 op.close() 添加到代码的末尾。

于 2012-04-14T13:04:29.520 回答
1

确保在更改后刷新或关闭文件以确保将缓冲区写入磁盘。

于 2012-04-14T13:03:37.057 回答
-2

尝试做:

op = open("output.txt", "ab")

代替:

op = open("output.txt", "a")
于 2012-04-14T13:07:32.327 回答