0
我试图在能够运行Python脚本的其余部分之前找到设备连接到的正确com端口。使用Python无法检测到任何串行端口
import serial.tools.list_ports
ports = list(serial.tools.list_ports.comports())
for p in ports:
print p
这:
import wmi
c = wmi.WMI()
wql = "Select * From Win32_SerialPort"
for item in c.query(wql):
print item
而且这样的:
我一直在使用这种尝试
def serial_ports():
if sys.platform.startswith('win'):
ports = ['COM%s' % (i + 1) for i in range(256)]
print ports
elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
# this excludes your current terminal "/dev/tty"
ports = glob.glob('/dev/tty[A-Za-z]*')
elif sys.platform.startswith('darwin'):
ports = glob.glob('/dev/tty.*')
else:
raise EnvironmentError('Unsupported platform')
result = []
for port in ports:
try:
s = serial.Serial(port)
s.close()
result.append(port)
except (OSError, serial.SerialException):
pass
return result
所有这些方法是我从其他堆栈中的人交换帖子;然而,对于这两种功能,当我尝试打印com端口列表时,我得到一个空白列表?任何帮助/见解将非常感谢提前感谢!
你确实有任何COM端口?新的PC根本就没有,因为那是史前的传统硬件,而新机器正在免费使用 –
是的!对不起,我在之前的文章中没有说清楚,但是当我用手动/硬代码输入com端口号时,它可以正常工作。我试图通过首先获取所有com端口列表并尝试所有端口来自动查找我的设备连接到的正确com端口的过程。 – Jennifer
您是否找到解决方案?或者你仍然有一些问题? –