Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Алгоритм сканирования СОМ портов в python3 (Линукс). Что у меня не так?

Есть два подключенных СОМ порта ttyUSB0 и ttyUSB1, разрешение в группе есть (могу читать и записывать в них). Если "нулевой" занят, а "первый" нет, выводится на экран: "COM0 подключён, но занят или нет прав на чтение/запись, а COM1 доступен...". Остальные нет доступа.
Если "нулевой" свободен, а "первый" нет, на экране: "COM0 доступен, а COM1 и далее, недоступны! Пробовал начинать сканировать не с "нулевого" порта, картина менялась и на других портах! Это кажется бредом! Может, с исключениями что не так "завернул"? Вот пример:

import serial
for i in range(10):
  if i < 0: # для отсечки нулевого порта 1 или более
    continue
  try:
    ser = serial.Serial('/dev/ttyUSB%d' % i,
                        baudrate  = 4800,
                        bytesize  = 8,
                        parity    = 'N',
                        stopbits  = 2)
    ser.isOpen()
    print ('Доступен порт "COM %d"' % i)
  except serial.serialutil.SerialException:
    try:
      ser.close()
      print ('Не удалось открыть порт "COM %d"' % i)
    except NameError:
      print ('Порт "COM %d" подключён, но занят или нет прав на чтение/запись!' % i)
ПрограммированиеPython+2
💥 Дядя Юра 💥
  ·   · 188
Исправляю старые баги, добавляю новые  · 22 нояб 2020

Хотелось было точный ответ в интерфейсе программы иметь об "созданных" и в то же время занятых портах!

Так как в pyserial только одна ошибка SerialException, которая говорит о разных проблемах, вы можете распарсить так:

  except Exception as e:  # вместо serial.serialutil.SerialException
    if "Device or resource busy" in str(e):
        print ('Порт "COM %d" занят' % i)
    elif "FileNotFoundError" in str(e):
        print ('Порт "COM %d" не найден' % i)
    else:
        print(e)
Не совсем верный ответ. Обратите внимание на исходник. Не смотря на то, что базовый класс SerialException -... Читать дальше