我正在尝试在python中重写文件,以便仅保留从串行端口读取的最新信息。我尝试了几种不同的方法并阅读了许多不同的文章,但是文件不断重复编写信息,而没有覆盖上一个条目。

 import serial

 ser=serial.Serial('/dev/ttyUSB0',57600)

 target=open( 'wxdata' , 'w+' )

 with ser as port, target as outf:
      while 1:
           target.truncate()
           outf.write(ser.read))
           outf.flush()

我有一个气象站,它通过无线方式将数据发送到树莓派,我只希望文件保留接收到的当前数据的一行。现在,它只是不断循环播放并不断添加。任何帮助将不胜感激..

最佳答案

我将代码更改为:

from serial import Serial

with Serial('/dev/ttyUSB0',57600) as port:
    while True:
        with open('wxdata', 'w') as file:
            file.write(port.read())

这将确保其被截断,刷新等。为什么您不必执行工作? :)

关于python - 在python中覆盖文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27071745/

10-14 18:59