如何在Serial.Tools.List(Python)中仅获取COMx?

2024-10-05 14:26:30 发布

您现在位置: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和not work


Tags: 端口import程序列表for排序portserial
1条回答
网友
1楼 · 发布于 2024-10-05 14:26:30

如果您在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.

相关问题 更多 >