无法写入文件

时间:2012-04-14 12:59:29

标签: python file-io io python-2.7

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

这是我的代码:(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()后立即写入文件吗?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

答案 2 :(得分:-2)

尝试做:

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

而不是:

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