Невозможно закрыть файл после записи его потоком данных из Com-порта с помощью Python - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь открыть последовательный порт через Python, записать входящий поток данных в файл и закрыть файл, когда поток данных останавливается.

Моя программа не может обнаружить, что порт больше не принимает никаких данных. Таким образом, файл остается открытым. Что мне делать?

import serial
ser = serial.Serial(port='COM8', baudrate=9600, bytesize=8, parity='N',  stopbits=1, timeout=None, xonxoff=0, rtscts=0)
print("Connected to Audio(COM8) port") 
try:
   f = open('C:\Users\user\Desktop\final.raw', 'w')
   while 1:
    ser_bytes = ser.readline()
    if ser_bytes:
        f.write(ser_bytes)
    else:
        break      
finally:
    f.close()
    print("output file closed")
    ser.close()

1 Ответ

0 голосов
/ 05 ноября 2018

Укажите время ожидания при использовании ser.readline()

...