Estoy buscando un método simple para enumerar todos los puertos com disponibles en una PC.
Encontré este método pero es específico de Windows: ¿ Lista de puertos serie (COM) en Windows?
Estoy usando Python 3 con pySerial en una PC con Windows 7.
Encontré en la API pySerial ( http://pyserial.sourceforge.net/pyserial_api.html ) una función serial.tools.list_ports.comports()
que enumera los puertos com (exactamente lo que quiero).
import serial.tools.list_ports
print(list(serial.tools.list_ports.comports()))
Pero parece que no funciona. Cuando mi puerta de enlace USB a COM está conectada a la PC (veo el COM5 en el Administrador de dispositivos), este puerto COM no está incluido en la lista devuelta por list_ports.comports()
. En cambio, solo obtengo COM4 que parece estar conectado a un módem (no lo veo en la sección COM y LPT del Administrador de dispositivos).
¿Sabes por qué no funciona? ¿Tiene otra solución que no sea específica del sistema?
comports()
función de pySerial que se describió en esta pregunta (sin información precisa sobre cómo reproducirlo) probablemente se haya solucionado. Empiece por intentarloimport serial.tools.list_ports; print([comport.device for comport in serial.tools.list_ports.comports()])
. Solo si eso no funciona para usted, alguna de las siguientes respuestas es relevante para usted.