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

Luc*_*man 1 python file

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

f = open('file.txt','w')
while(operator): 
      f.write("string")
f.close()
Run Code Online (Sandbox Code Playgroud)

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

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

Ash*_*ary 5

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

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

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

with open("file.txt","w") as f:
    while(operator):
        f.write("string")
        f.flush()
Run Code Online (Sandbox Code Playgroud)