即使遇到任何中断,也要写文件

时间:2014-07-31 11:23:26

标签: python linux file-io

如果出现任何中断,如何确保写入文件? 考虑一下这段代码

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 个答案:

答案 0 :(得分:2)

写完后立即冲洗缓冲区:

FH.write(mystr)
FH.flush()