如何使用 'serial.tools.list_ports' python 模块获取可用串口列表?
How can I get a list of available serial ports using 'serial.tools.list_ports' python module?
我是 python 的新手,我需要可用串口的列表以便在程序中选择其中一个。根据 This,serial.tools.list_ports
模块可以通过执行 serial.tools.list_ports.comports()
方法为我做到这一点。因此,我在 python 解释器中执行了以下代码:
import serial.tools.list_ports
a=serial.tools.list_ports.comports()
print(a)
结果是:
[<serial.tools.list_ports_linux.SysFS object at 0x7f2503d27be0>]
而当我在 ubuntu
终端中使用以下命令时
python3 -m serial.tools.list_ports
它returns我想要的:
/dev/ttyUSB0
1 ports found
问题出在哪里?
根据您链接的文档,
The function returns a list of ListPortInfo objects.
它们有几个您可以使用的属性,例如 device
:
Full device name/path, e.g. /dev/ttyUSB0
为了模拟命令 python3 -m serial.tools.list_ports
,您可以这样做:
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
for p in ports:
print(p.device)
print(len(ports), 'ports found')
这是什么的简化版呢actually does.
returns 列表(使用答案 above/below)的一种更简单的方法是在遍历从 list_ports.comports()
获得的端口列表时使用 .device
例如
ports = serial.tools.list_ports.comports()
# 'com_list' contains list of all com ports
com_list = []
for p in ports:
com_list.append(p.device)
我是 python 的新手,我需要可用串口的列表以便在程序中选择其中一个。根据 This,serial.tools.list_ports
模块可以通过执行 serial.tools.list_ports.comports()
方法为我做到这一点。因此,我在 python 解释器中执行了以下代码:
import serial.tools.list_ports
a=serial.tools.list_ports.comports()
print(a)
结果是:
[<serial.tools.list_ports_linux.SysFS object at 0x7f2503d27be0>]
而当我在 ubuntu
终端中使用以下命令时
python3 -m serial.tools.list_ports
它returns我想要的:
/dev/ttyUSB0
1 ports found
问题出在哪里?
根据您链接的文档,
The function returns a list of ListPortInfo objects.
它们有几个您可以使用的属性,例如 device
:
Full device name/path, e.g.
/dev/ttyUSB0
为了模拟命令 python3 -m serial.tools.list_ports
,您可以这样做:
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
for p in ports:
print(p.device)
print(len(ports), 'ports found')
这是什么的简化版呢actually does.
returns 列表(使用答案 above/below)的一种更简单的方法是在遍历从 list_ports.comports()
获得的端口列表时使用 .device例如
ports = serial.tools.list_ports.comports()
# 'com_list' contains list of all com ports
com_list = []
for p in ports:
com_list.append(p.device)