使用 pyserial 列出活动串口时出现异常
Exeption while listing active serial ports using pyserial
我是 python 新手。
我正在尝试使用这个简单的代码列出我的活动串口
import serial.tools.list_ports as port_list
ports = list(port_list.main())
for p in ports:
print (p)
这是结果
C:\Python27\python.exe C:/Users/tc34669/PycharmProjects/untitled/open_serial_port.py
COM1
COM3
2 ports found
Traceback (most recent call last):
File "C:/Users/tc34669/PycharmProjects/untitled/open_serial_port.py", line 2, in <module>
ports = list(port_list.main())
TypeError: 'NoneType' object is not iterable
这里有人知道我如何列出这些端口而不会出现此类型错误?
感谢
根据 documentation of pySerial
main()
实际上并不是一个可用于获取所有端口信息的文档化函数。尝试使用 comports()
函数代替:
from serial.tools import list_ports
for p in list_ports.comports():
print(p)
如果您只想打印端口号(例如 COM1),请尝试使用 comport 对象 'device' 属性:
from serial.tools import list_ports
for p in list_ports.comports():
print(p.device)
我是 python 新手。 我正在尝试使用这个简单的代码列出我的活动串口
import serial.tools.list_ports as port_list
ports = list(port_list.main())
for p in ports:
print (p)
这是结果
C:\Python27\python.exe C:/Users/tc34669/PycharmProjects/untitled/open_serial_port.py
COM1
COM3
2 ports found
Traceback (most recent call last):
File "C:/Users/tc34669/PycharmProjects/untitled/open_serial_port.py", line 2, in <module>
ports = list(port_list.main())
TypeError: 'NoneType' object is not iterable
这里有人知道我如何列出这些端口而不会出现此类型错误?
感谢
根据 documentation of pySerial
main()
实际上并不是一个可用于获取所有端口信息的文档化函数。尝试使用 comports()
函数代替:
from serial.tools import list_ports
for p in list_ports.comports():
print(p)
如果您只想打印端口号(例如 COM1),请尝试使用 comport 对象 'device' 属性:
from serial.tools import list_ports
for p in list_ports.comports():
print(p.device)