2011-03-02 2 views
1

아래 코드를 사용하여 텍스트 파일에 쓰고 있습니다. 설정은 다음과 같습니다.텍스트 파일에 연속 쓰기 및 매번 새 파일 만들기 확인

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

문제는이 데이터는 텍스트 파일에 추가됩니다. 내가 원했던 것은 단 한 줄만 포함하는 텍스트 파일을 갖는 것입니다. 어떻게 해결해야합니까? 감사!

+0

파일을 덮어 쓰게되면 사라 졌음을 알 수 있습니까? 따라서 다음 라인이 들어올 때 각 라인을 버리는 것입니다. – katrielalex

답변

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

완벽! 감사 – user582485