Python:当脚本使用顺序写入操作运行时,文件为空

时间:2012-10-30 10:29:08

标签: python file

所以我编写了一个简单的脚本,将一些行写入文件:

f = open('file.txt','w')
while(operator): 
      f.write("string")
f.close()

问题是,当脚本运行时,文件仍为空,只有当脚本完成并关闭文件时,内容才会显示。发生了什么,以及如何在脚本运行时立即显示脚本写入文件的内容?

我正在运行BackTrack 5来运行脚本。

1 个答案:

答案 0 :(得分:5)

您需要使用f.flush()刷新内容。 它将缓冲区中的当前内容写入文件

In [17]: f.flush.__doc__
Out[17]: 'flush() -> None.  Flush the internal I/O buffer.'

使用with语句处理文件,因为它会自动为您关闭文件:

with open("file.txt","w") as f:
    while(operator):
        f.write("string")
        f.flush()