Я шукаю простий спосіб перерахувати всі доступні com-порти на ПК.
Я знайшов цей метод, але він специфічний для Windows: Перелік послідовних (COM) портів у Windows?
Я використовую Python 3 з pySerial на ПК з Windows 7.
Я знайшов в API pySerial ( http://pyserial.sourceforge.net/pyserial_api.html ) функцію, serial.tools.list_ports.comports()
яка перелічує com-порти (саме те, що я хочу).
import serial.tools.list_ports
print(list(serial.tools.list_ports.comports()))
Але, здається, це не працює. Коли мій шлюз USB до COM підключений до ПК (я бачу COM5 у диспетчері пристроїв), цей порт COM не входить до списку, що повертаєтьсяlist_ports.comports()
. Натомість я отримую лише COM4, який, здається, підключений до модему (я не бачу його в розділі COM & LPT в Диспетчері пристроїв)!
Ви знаєте, чому це не працює? У вас є інше рішення, яке не є специфічним для системи?
comports()
функції pySerial, яка була описана в цьому питанні (без точної інформації про те, як її відтворити), ймовірно, була виправлена. Почніть із спробimport serial.tools.list_ports; print([comport.device for comport in serial.tools.list_ports.comports()])
. Лише якщо це не працює для вас, будь-яка з наведених нижче відповідей стосується вас.