我正在使用Python 3和pySerial在Windows 7 PC上。在pySerial API (http://pyserial.sourceforge.net/pyserial_api.html)中,我发现有一个函数
serial.tools.list_ports.comports()
可以列出串口(正好是我想要的)。import serial.tools.list_ports
print(list(serial.tools.list_ports.comports()))
但是看起来它不起作用。当我的USB转COM网关连接到PC时(我在设备管理器中看到COM5),这个COM端口没有被包括在list_ports.comports()
返回的列表中。相反,我只得到了似乎连接到调制解调器上的COM4(在设备管理器的COM&LPT部分中看不到它)!
你知道为什么它不工作吗?你有没有另一种不特定于系统的解决方案?
comports()
函数中描述的错误(没有精确的重现方法)可能已经被修复。首先尝试使用import serial.tools.list_ports; print([comport.device for comport in serial.tools.list_ports.comports()])
。只有当这个不适用于你时,下面任何一个答案才会对你有用。 - Mark Amery