我正在使用以下在不同地方找到的python代码来获取可以连接到的可用com端口的列表。
def getPorts(self):
if sys.platform == 'linux':
ports = ['/dev/ttyUSB%s' % (i) for i in range(60)] # for Linux boxes
else:
ports = ['COM%s' % (i) for i in range(20)] #for Windows boxes
results = list()
for port in ports:
try:
s = serial.Serial(port) #try to create a serial port object
results.append(port) #if it get this far the port is available
except (OSError, serial.SerialException):
print("no port" + port )
return results
我有两个USB端口,一个连接在USB1上,另一个连接在USB2上。 USB2正在由单独的python进程积极写入。当我使用代码时,ttyUSB2端口挂起,并将其添加到可用端口列表中。对我来说,这意味着将创建串行端口,并且不会引发异常。
我的问题是为什么不引发异常?这可能与我的操作系统有关吗?我过去已经成功使用了此代码段。
我的操作系统是redhat 7.6