Szukam prostej metody, aby wyświetlić listę wszystkich dostępnych portów COM na komputerze.
Znalazłem tę metodę, ale jest ona specyficzna dla systemu Windows: listy portów szeregowych (COM) w systemie Windows?
Używam Pythona 3 z pySerial na komputerze z systemem Windows 7.
Znalazłem w pySerial API ( http://pyserial.sourceforge.net/pyserial_api.html ) funkcję, serial.tools.list_ports.comports()
która wyświetla listę portów com (dokładnie to, czego chcę).
import serial.tools.list_ports
print(list(serial.tools.list_ports.comports()))
Ale wydaje się, że to nie działa. Kiedy moja bramka USB-COM jest podłączona do komputera (widzę COM5 w Menedżerze urządzeń), ten port COM nie znajduje się na liście zwróconej przez list_ports.comports()
. Zamiast tego dostaję tylko COM4, który wydaje się być podłączony do modemu (nie widzę go w sekcji COM i LPT Menedżera urządzeń)!
Czy wiesz, dlaczego to nie działa? Czy masz inne rozwiązanie, które nie jest specyficzne dla systemu?
comports()
że minęło ponad pięć lat od zadania tego pytania, a błąd w funkcji pySerial, który został opisany w tym pytaniu (bez dokładnych informacji o tym, jak go odtworzyć) został prawdopodobnie naprawiony. Zacznij od spróbowaniaimport serial.tools.list_ports; print([comport.device for comport in serial.tools.list_ports.comports()])
. Tylko jeśli to nie zadziała, każda z poniższych odpowiedzi będzie dla Ciebie odpowiednia.