Создание последовательного порта на com-порту, который уже занят, не вызывает исключения - PullRequest
0 голосов
/ 22 марта 2019

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

...