断电时保存Python文件

Cra*_*ker 0 python python-3.x raspberry-pi

我们通过 Raspberry Pi 和 Python 的串口从 Arduino 应变仪获取数据。我们拥有它,因此它将读取所有数据进行必要的计算,并将打印到文本文件,但是如果出现电源故障,收集的数据就会丢失。这就是我们正在试图找出如何解决或避免发生的问题。

import serial

ardserial = serial.Serial('/dev/ttyACM0',9600)

counter = 1

def strain():
    a=int(adserial.readlines())
    b=(str(a*(5/16)/166))
    c=float(b)
    with open('textfile1.txt','a+') as text_file:
        text_file.write('Strain Value: ' + str(c) + '\n')

while counter > 0:
    strain()
Run Code Online (Sandbox Code Playgroud)

我们拥有它,因此它会正确写入 txt 文件,并且如果我们终止程序,它将保存所有数据,但我们也希望它在 Raspberry Pi 通电时保存所有数据。它不这样做。

我几乎 100% 确信我过去曾这样做过,如果电源被切断,它会保存保存的数据,但我一辈子都无法弄清楚。任何帮助都会……嗯……有帮助,谢谢。

VPf*_*PfB 6

每次写入文件后将数据写入磁盘:

\n\n
\n

如果你\xe2\x80\x99从一个缓冲的Python文件对象f开始,首先执行\n f.flush(),然后执行os.fsync(f.fileno()),以确保所有\n内部缓冲区关联与 f 被写入磁盘。

\n
\n\n

来源:Python 文档

\n