Python Serial不在一个lin上读取

2024-06-11 17:58:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从EAS解码器读取串行数据,并用python将其记录到文本文件中。 当我使用商业串行记录器时,我得到的是:

1A Broadcast station or cable system has issued a Tornado Warning for all of 
 Iowa beginning at 7:54 pm and ending at 8:54 pm (MEWDOG)

我运行文件时的输出是这样的(我没有包括整个输出,但你知道的):

输出图像

下面是我的代码。它只将第一个字符写入文本文件,但我需要它全部位于文本文件输出的一行上。你知道吗

import serial
import os
ser = serial.Serial()
ser.baudrate = 9600
ser.port = 'COM2'
ser.open()
def write_txt(EAS):
    import os.path
    fileName = "eas.txt"
    pathOfTxt = os.path.abspath(os.path.join(fileName))
    with open(pathOfTxt, 'w') as f:
        f.write(str(EAS)+'\n')
    return()

while True:
    message = ser.read()
    write_txt(message)
    print(message)

谢谢!你知道吗


Tags: pathimporttxtmessageosserialopenfilename