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

use*_*485 1 python

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

  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()
Run Code Online (Sandbox Code Playgroud)

问题是,数据被附加到文本文件中.我想要的是一个只包含一行的文本文件.我该怎么解决这个问题?谢谢!

NPE*_*NPE 6

一种解决方案是在循环中移动openclose语句,以便每次获取数据时都会覆盖文件.例如:

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()
Run Code Online (Sandbox Code Playgroud)