PCで利用可能なすべてのCOMポートを一覧表示する簡単な方法を探しています。
私はこの方法を見つけましたが、それはWindows固有です:Windowsのシリアル(COM)ポートを一覧表示しますか?
私はWindows7PCでpySerialとともにPython3を使用しています。
pySerial API(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 to COMゲートウェイがPCに接続されている場合(デバイスマネージャーに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()])
ます。それがうまくいかない場合にのみ、以下の回答のいずれかがあなたに関連しています。