我正在使用下面的代码写入一个文本文件。设置是:
- 从串行端口读取以 '\n' 结尾的数据。
- 创建一个仅包含一行文本的文本文件。
_
import serial
ser = serial.Serial ( 2 , baudrate = 57600 , timeout = 1 )
AngleText = open ("data.txt" , "w")
while True:
line = ser.readline().strip('^\n\r')
print line
AngleText.write (str(line))
AngleText.flush()
ser.close()
问题是,数据被附加到文本文件中。我想要的是一个只包含一行的文本文件。我应该如何解决这个问题?谢谢!
请您参考如下方法:
一种解决方案是将 open 和 close 语句移动到循环内,这样每次获取数据时都会覆盖文件。例如:
import serial
ser = serial.Serial ( 2 , baudrate = 57600 , timeout = 1 )
while True:
line = ser.readline().strip('^\n\r')
print line
AngleText = open ("data.txt" , "w")
AngleText.write (str(line))
AngleText.close()
ser.close()
