Python 连续写入文本文件并确保每次创建新文件

Python 连续写入文本文件并确保每次创建新文件,python,Python,我正在使用下面的代码写入一个文本文件。设置为: 从串行端口读取'\n'-终止的数据 创建仅包含一行文本的文本文件 _ 问题是,数据会附加到文本文件中。我想要的是一个只包含一行的文本文件。我应该如何解决这个问题?谢谢 一种解决方案是将open和close语句移动到循环中,以便每次获得数据时都覆盖文件。例如: import serial ser = serial.Serial ( 2 , baudrate = 57600 , timeout = 1 ) while True: line

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

  • 从串行端口读取'\n'-终止的数据
  • 创建仅包含一行文本的文本文件
  • _


    问题是,数据会附加到文本文件中。我想要的是一个只包含一行的文本文件。我应该如何解决这个问题?谢谢

    一种解决方案是将
    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()
    

    一种解决方案是在循环中移动
    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()
    

    你知道一旦你覆盖了文件,它就消失了,对吗?所以当下一行出现时,你只是扔掉了每一行。你知道一旦你覆盖了文件,它就消失了,对吗?所以当下一行进来时,你只是把每一行都扔掉。