Я использую следующий код 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