我构建了一个脚本(Windows 7、Python 2.7)来列出串行端口,但我正在寻找具有特定名称的设备。 我的脚本:
import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
print(p)
返回:
COM3 - Intel(R) Active Management Technology - SOL (COM3)
COM6 - MyCDCDevice (COM6)
COM1 - Communications Port (COM1)
>>>
太棒了!但是,我希望此脚本自动从一堆中挑选出 MyCDCDevice 并连接到它。 我试过:
import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
if 'MyCDCDevice' in p:
print(p)
// do connection stuff to COM6
但这行不通。我怀疑是因为 p 不完全是一个字符串,而是某种对象?
无论如何,解决这个问题的正确方法是什么?
谢谢!!
最佳答案
我知道这篇文章已经很老了,但我想我会发布我的发现,因为没有“接受”的答案(迟到总比不到好)。
This documentation帮助确定对象的成员,我最终得出了这个解决方案。
import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
if 'MyCDCDevice' in p.description:
print(p)
# Connection to port
s = serial.Serial(p.device)
关于python - 在 pySerial (Windows) 中查找特定的串行 COM 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34889768/