PySerial属性调用报错,求问文档时效性及基础串口示例
Python串口读取问题解决与基础操作指南
代码错误修正
你的核心问题是串口对象引用错误:你创建的串口实例是s,但后续代码错误使用了未定义的serialPort或模块名serial来调用属性/方法,导致报错。修正后的可运行代码如下:
# test_sport import serial # 创建串口实例,指定端口、波特率,添加timeout避免无限阻塞 s = serial.Serial(port='COM9', baudrate=9600, timeout=1) serial_string = "" while True: # 通过创建好的实例s访问in_waiting属性 if s.in_waiting > 0: # 用实例s调用readline方法读取数据 serial_string = s.readline() # 解码为ASCII字符串并打印,strip()去除多余换行符 print(serial_string.decode('ascii').strip()) # 程序退出前关闭串口(建议放在try-finally块中保证执行) # s.close()
关键错误说明
in_waiting属性调用错误:in_waiting是serial.Serial实例的属性,必须通过你创建的串口对象(比如上述代码中的s)访问,不能直接用模块名serial调用。PySerial官方文档的用法是正确的,你只是用错了对象。- 导入语句冗余:无需同时写
import serial和from serial import *,仅import serial即可,避免潜在的命名冲突。
文档与示例相关问题
- PySerial在线文档对应最新版本,若你本地安装的是旧版本,可能存在属性差异,可通过命令
pip show pyserial查看本地版本,再匹配对应版本的文档内容。 - 基础串口操作示例可查看PySerial安装目录下的examples文件夹(路径一般为Python安装目录/site-packages/serial/examples),里面包含了打开串口、读写数据等基础场景的示例代码。
内容的提问来源于stack exchange,提问作者tim_at_17T
相关产品推荐
相关产品推荐

