我正在尝试在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/