检查特定设备是否连接到 COM 端口

check if specific device is connected to COM Port

我想检查一个特定设备是否连接到我的串行端口之一。

with list_ports.comports() 我得到了所有的 COM 端口
x = list_ports.grep("0403:6001") 我可以搜索特定设备。这给了我
<class 'serial.tools.list_ports_common.ListPortInfo'> 输出。

但如果此设备已连接或未连接,我只想要一个布尔表达式作为输出

我已经阅读了这个答案,但它没有解决我的问题Pyserial 获取 COM 端口后面的设备名称

According to the manual .grep() returns 是 ListPortInfos 的可迭代对象,我假设如果没有连接匹配的设备,它 return 什么都没有.

要从可迭代对象到布尔值,内置的 any() 是你的朋友:

device_connected = any(list_ports.grep("0403:6001"))