不断写入文本文件并确保每次创建新文件
我正在使用下面的代码写入一个文本文件。设置是:
- 从串口读取以'\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()
问题是,数据会被追加到文本文件中。我想要的是文本文件只包含一行。该怎么解决这个问题呢?谢谢!
1 个回答
6
一种解决办法是把 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()