pyserial如果和文件读取

2024-06-01 13:12:11 发布

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

我有一个愚蠢的python问题。在

每次从串行连接收到“准备就绪”消息时,我都试图从文件中读取一行,所以我写了以下内容:

import serial
from time import sleep

port = "/dev/tty.usbserial-A400fYTT"
speed = 57600
polarfile = 'polarfile.pg'

f = open(polarfile, 'r')

ser = serial.Serial(port, speed, timeout=0)

while True:
    data = ser.read(9999)
    if len(data) > 0:
        if(data == 'READY'):
            f.readline()
        else:
            sleep(0.5)

    sleep(1)

ser.close()

但是如果我用print data替换if(data=='READY'块,它就不起作用了。我收到准备好的信息。在

我也可以用f.readline()读取我的文件。。。在

多谢你给我的建议

在-- 编辑: 重要的信息,连续剧不仅收到“准备就绪”的信息,还收到了一堆其他信息,但我只想在收到“准备就绪”信息时做出反应。在


Tags: fromimport信息消息datareadlineifport
1条回答
网友
1楼 · 发布于 2024-06-01 13:12:11

我只是替换

数据=ser.read公司(9999)

通过

data = ser.readline(9999)它给我逐行的消息,而不是一秒一秒的输入数据,然后替换

if( data == 'READY' ):作者

if (data.startswith('READY')):

现在它起作用了:)

相关问题 更多 >