我是一名新的蟒蛇学习者。 我正试图用这个简单的代码列出我的活动串口
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
有人知道如何在没有此TypeError的情况下列出这些端口吗?
谢谢
答案 0 :(得分:0)
根据documentation of pySerial
main()
实际上是一个文档化的函数,您可以使用它来获取所有端口的信息。请尝试使用comports()
功能:
from serial.tools import list_ports
for p in list_ports.comports():
print(p)
答案 1 :(得分:0)
如果只想打印端口号(例如COM1),请尝试使用comport对象的“设备”属性:
from serial.tools import list_ports
for p in list_ports.comports():
print(p.device)