2016-07-26 89 views
1

我有一个基于计时器的应用程序,它可能每8小时向文件写一短行。该文件在8小时内没有保持打开状态,我只是打开它,写入并关闭它。如果有帮助,我只打开文件以便写入,而不是附加文件,所以以前的数据不需要保存。防止在Python中打开文件时关闭应用程序

如果用户在文件处于打开状态时通过任务管理器关闭应用程序,会发生什么情况?我可以使文件写入操作成为原子吗?或者我可以至少防止应用程序在文件打开时关闭吗?

+0

您可以这样做:1)创建另一个文件,2)将这个另一个文件重命名为您需要覆盖的文件。重命名是原子操作。 – Ilya

+0

如果进程在重命名之前停止,是不是会在目录中留下另一个不必要的文件? – devil0150

+0

@ devil0150是的,但是如果应用程序再次打开,可能会有一个检查在启动时删除文件。至于留下不必要的文件,那将会发生。 – techydesigner

回答

1

如果用户在文件处于打开状态时通过任务 管理器关闭应用程序,会发生什么情况?

除非您有程序的退出处理程序,否则该程序很可能会立即关闭。如果用户终止该程序,它将立即关闭。

我可以使文件写入操作原子吗?

我不清楚你说“原子”的意思,但在这里是一个链接,可以帮助:atomic writing to file with Python

或者我至少可以防止应用程序关闭,如果该文件是 打开?

如果用户终止进程,则无法阻止程序关闭。