Python如何在突然关机的情况下保存一个txt文件?




我正在做一个小的视觉项目,它将由我的鼠标移动产生。
为了做到这一点,我从我的电脑相当快地记录我的鼠标数据(可能高达20日志/秒)。
我只是一次一行地将我的数据附加到.txt

目前,我使用以下方法添加到我的数据文件:

import time
file_object = open('./logs/test.txt', 'a+', encoding="utf-8")
while True:
file_object.write(f"{time.time()}n")
time.sleep(1)
file_object.close()

在这种情况下,我知道file_object不会关闭并保存,这是我的观点。
如果我的脚本没有正确退出,如果我要关闭我的电脑,或者我用完电源。
日志不会被保存,我已经丢失了所有的数据。

我知道附加到文档的with方式应该节省硬关机,但是我使用了很多函数和其他with语句,从我附加到.txt文件的地方,我看不到我如何实现它。

换句话说,我真的在寻找一种检测硬关机的方法,并在计算机死机之前调用file_object.close()来保存文档。
当然还有其他聪明的选择。

开导我吧:)
感谢您的帮助

我只是关闭并重新打开每个日志条目的文件。它应该能够处理3个日志/秒。

import time
while True:
file_object = open('./logs/test.txt', 'a+', encoding="utf-8")
file_object.write(f"{time.time()}n")
file_object.close()
time.sleep(1)

如果使用的是Windows,可以使用Win32Api函数。更好的描述如下:

使用python检测关机事件

也可以使用

进口时间

而真实的:

with open('./logs/test.txt', 'a+', encoding="utf-8") as file_object:
file_object.write(f"{time.time()}n")
time.sleep(1)

相关内容

最新更新