Python:脚本运行时文件为空,并执行顺序写入操作

标签 python file

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

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

问题是当脚本运行时文件仍然是空的,只有当脚本完成并关闭文件时,内容才可见。发生了什么,我如何才能使脚本写入文件的内容在脚本运行时立即可见?

我正在运行 BackTrack 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()

关于Python:脚本运行时文件为空,并执行顺序写入操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13137068/

相关文章:

python - 如何重命名列表中的标签?

python - 寻找一种加速 Pandas 合并的方法(或可能是另一种方法)

java - 有没有更好的替代 File.listFiles() 方法?

c++ - 移动到文件中的下一行 C++

python - 由于缺少元素,lxml 抓取覆盖错误

Python pymssql 错误 "TypeError: argument of type ' NoneType' is not iterable"when connecting to SQL server

python - 基于列值和变量合成一个 numpy 数组/矩阵?

file - 在 linux 上从头开始收缩(截断)文件

c++ - "Sprintf"删除分配给调用中未调用的变量的值

c++ - 为什么 ofstream::flush() 返回 ostream?