serial-port - 为什么我的 pyserial 端口在 if 语句中不起作用?
问题描述
我可以打印“阅读”变量,但我不知道如何在“if 语句”中使用它。正如我所说,它会打印我从 microbit 发送到计算机的字符串,但是当我检查字符串是否为 ==“A”时,它不会打印“它有效”EKS:
import keyboard
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
serialInst = serial.Serial()
portList = []
for onePort in ports:
portList.append(str(onePort))
print(str(onePort))
serialInst.baudrate = 115200
serialInst.port = "COM3"
serialInst.open()
while True:
if serialInst.in_waiting:
packet = serialInst.readline().decode('utf-8')
print(type(packet))
print(packet)
if packet == "A":
print("itworks")
#print(packet.decode('utf'))
if keyboard.is_pressed('esc'):
break
解决方案
我发现:你必须剥离“数据包”所以现在它看起来像这样:
if packet.strip() == "A":
print("it works")
推荐阅读
- office365 - 来自 Jira 电子邮件的 DisplayName (Exchange Online)
- python - 无法将 altair 可视化作为弹出窗口插入到叶地图中
- c++ - 为什么我在这个 Karatsuba 乘法中出现逻辑错误?
- react-native - animatable 不断使视图增长
- fluentvalidation - 如何使用 FluentValidation 验证集合中的不同类型?
- python - 如何在不将多个标题副本创建到行中的情况下附加到 csv 文件?
- delphi - 如何通过 ScanLine 复制灰度位图
- groovy - groovy 遍历键和值列表
- tsql - 按分区准确排序日期名称
- linux - Crontab - *、*/1 和 0-59/1 之间的差异