我是 python 新手,我需要一个可用串行端口列表来在程序中选择其中一个。根据This https://pyserial.readthedocs.io/en/latest/tools.html#module-serial.tools.list_ports, the 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
它返回我想要的:
/dev/ttyUSB0
1 ports found
哪里有问题?
根据您链接的文档,
该函数返回一个列表列出端口信息 https://pyserial.readthedocs.io/en/latest/tools.html#serial.tools.list_ports.ListPortInfo对象。
它们有几个可以使用的属性,例如device
:
完整的设备名称/路径,例如/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')
Which is a simplified version of what it actually does https://github.com/pyserial/pyserial/blob/master/serial/tools/list_ports.py#L85.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)