如何在 Serial.Tools.List (Python) 中只获取 COMx?
How to get only COMx in Serial.Tools.List (Python)?
我创建了一个程序,用于对所有连接的设备(序列号)进行排序。我只希望列表获取 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
device
Full device name/path, e.g. /dev/ttyUSB0. This is also the information returned as first element when accessed by index.
name
Short device name, e.g. ttyUSB0.
我创建了一个程序,用于对所有连接的设备(序列号)进行排序。我只希望列表获取 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
device
Full device name/path, e.g. /dev/ttyUSB0. This is also the information returned as first element when accessed by index.name
Short device name, e.g. ttyUSB0.