libmaple/support/scripts/win-list-com-ports.py
Marti Bolivar 8237222309 Add win-list-com-ports.py.
Utility for listing COM ports available on the system. Taken from Eli
Bendersky.

Signed-off-by: Marti Bolivar <mbolivar@lozenge.(none)>
2012-07-13 02:15:45 -04:00

30 lines
786 B
Python

# Windows program for listing COM (serial) ports.
#
# enumerate_serial_ports() is by Eli Bendersky:
#
# http://eli.thegreenplace.net/2009/07/31/listing-all-serial-ports-on-windows-with-python/
import _winreg as winreg
import itertools
def enumerate_serial_ports():
""" Uses the Win32 registry to return an
iterator of serial (COM) ports
existing on this computer.
"""
path = 'HARDWARE\\DEVICEMAP\\SERIALCOMM'
try:
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, path)
except WindowsError:
raise IterationError
for i in itertools.count():
try:
val = winreg.EnumValue(key, i)
yield str(val[1])
except EnvironmentError:
break
for com in enumerate_serial_ports():
print com