即使发生中断也能写入文件

2 投票
1 回答
1335 浏览
提问于 2025-04-18 15:29

如何确保文件在任何中断情况下都能被写入?

看看这段代码:

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()

撰写回答