如何使用“serial.tools.list_ports"python 模块获取可用串行端口的列表? [英] How can I get a list of available serial ports using 'serial.tools.list_ports' python module?
问题描述
我是 Python 新手,我需要一个可用串行端口的列表来在程序中选择其中一个.根据这个,serial.tools.list_ports
模块可以通过执行 serial.tools.list_ports.comports()
方法为我做到这一点.因此,我在python解释器中执行了以下代码:
I'm new to python and I need a list of available serial ports to choose one of them in a program. According to This, the serial.tools.list_ports
module can do that for me by executing serial.tools.list_ports.comports()
method. Accordingly,I executed the following code in python interpreter:
import serial.tools.list_ports
a=serial.tools.list_ports.comports()
print(a)
结果是:
[<serial.tools.list_ports_linux.SysFS object at 0x7f2503d27be0>]
而当我在 ubuntu
终端中使用以下命令时
while when I use the following command in ubuntu
terminal
python3 -m serial.tools.list_ports
它返回我想要的:
/dev/ttyUSB0
1 ports found
问题出在哪里?
推荐答案
根据您链接的文档,
该函数返回一个ListPortInfo 对象.
The function returns a list of ListPortInfo objects.
它们有几个你可以使用的属性,例如device
:
They have several attributes which you can use, for example device
:
完整的设备名称/路径,例如/dev/ttyUSB0
Full device name/path, e.g.
/dev/ttyUSB0
为了模拟命令 python3 -m serial.tools.list_ports
,你可以这样做:
In order to emulate the command python3 -m serial.tools.list_ports
, you could do:
import serial.tools.list_ports
ports = serial.tools.list_ports.comports()
for p in ports:
print(p.device)
print(len(ports), 'ports found')
这是它的简化版本 实际上是.
这篇关于如何使用“serial.tools.list_ports"python 模块获取可用串行端口的列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!