问题描述
我创建了一个程序,它对所有连接的设备(串行)进行排序。我只希望列表获取 COMx 端口而不是它们的描述。
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
List1 = []
for port in sorted(ports):
List1.append(port)
print(*List1)
它也总是显示描述,我不知道该怎么办? 谁能帮我解决这个问题?有任何想法吗? 我还阅读了pyserial文档并尝试将结果分为port,desc,hwid,没有用...
解决方法
如果您使用的是 Windows,您将能够仅列出具有以下其中一项的 COM 端口名称:
List1.append(port.name)
或
List1.append(port.device)
如果您坚持使用名为 COMx 的字符串,您可以将comports() 更改为:
ports = serial.tools.list_ports.grep("COM[1-9][0-9]*")
serial.tools.list_ports
classserial.tools.list_ports.ListPortInfo
-
设备
完整的设备名称/路径,例如/dev/ttyUSB0.这也是索引访问时作为第一个元素返回的信息。 -
姓名
短设备名称,例如ttyUSB0.