如何在Fi中不丢失中间数据

2024-09-28 22:23:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在学习Python时,我们确实会打印到屏幕上,但最终还是会打印到输出文件。。。但是,大多数情况下,所有错误都不会在代码中解决。。。在这种情况下,代码在运行10到20个循环或者说80%的代码后中止。。但是,在这段时间内,打印到文件中的数据会丢失文件.close()未执行。你知道吗

在Python中,有一种方法可以保存WIP文件。我想这样做,而不关闭和重新打开文件再次多次在附加模式。这将有助于调试,并且不会丢失在错误发生之前积累的数据。你知道吗

经过搜索,我没有找到这样的东西。。。。如果有人有或可以给任何想法,如何使这将是伟大的模块。。。我们需要的是一个通用的catchall。。。如果有任何错误。。执行catchall代码关闭文件,然后退出Python。你知道吗


Tags: 模块文件数据方法代码close屏幕错误
2条回答

您可以通过调用文件对象上的f.flush()来刷新内部文件缓冲区。你知道吗

更好的方法是将文件访问包装在with block中。如果引发异常,则关闭文件。你知道吗

with open('tmp.txt', 'r') as f:
    do_stuff_with(f)

关于文件对象的文档:https://docs.python.org/2/library/stdtypes.html?highlight=flush#file.flush

使用flush函数。在doc上还有一个注释,其中包含os.fsync函数,以确保数据写入光盘。你知道吗

相关问题 更多 >