Skip to main content
 首页 » 编程设计

python之连续写入文本文件并确保每次都创建一个新文件

2025年05月04日19unruledboy

我正在使用下面的代码写入一个文本文件。设置是:

  1. 从串行端口读取以 '\n' 结尾的数据。
  2. 创建一个仅包含一行文本的文本文件。

_

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()