即使发生中断也能写入文件
如何确保文件在任何中断情况下都能被写入?
看看这段代码:
with open('output.txt', 'a') as FH:
for i in range(5):
mystr = 'some text %d\n' %i
FH.write(mystr)
time.sleep(2)
如果这段代码正在运行,你按下 Ctrl+c 来中断它,输出文件还是会被写入。但是如果你按下 Ctrl+z,就什么都不会写入文件!
1 个回答
3
在写入缓冲区后立即刷新它:
FH.write(mystr)
FH.flush()