.write不能在Python中工作

2024-03-29 07:07:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还不太熟悉,所以希望我只是在这里遗漏了一些显而易见的东西,但这让我很为难。我的程序片段如下:

outFile = open('P4Output.txt', 'w')
outFile.write(output)
print output
print "Output saved to \"P4Output.txt\"\n"

输出正确地打印到控制台,但如果我打开文件,它是空白的。如果删除该文件并再次执行程序,则会创建该文件,但仍为空。我以前在我的另一个程序中使用了完全相同的代码块,它工作了,而且仍然工作。但是,如果我打开Python并尝试以下简单方法:

f = open('test.txt', 'w')
f.write("test")

再次创建test.txt,但保留为空。给什么?


Tags: 文件totest程序txtoutputopen空白
3条回答

由于缓冲,字符串在调用flush()close()之前可能不会实际显示在文件中。所以试着在f.write()之后调用f.close()。此外,建议对文件对象使用with,即使您由于异常或return语句提前脱离with块,它也会自动为您关闭文件。

with open('P4Output.txt', 'w') as f:
    f.write(output)

你需要做一个

outFile.flush()

如果希望将缓冲内容写入磁盘。 如果已完成对文件的写入,则在关闭文件之前,file.close调用将隐式刷新缓冲数据。

你在课程结束时做过f.close()吗?

相关问题 更多 >