目录
1、获取当前COM设备信息
import serial.tools.list_ports
for port in serial.tools.list_ports.comports():
print(port.name)
device 完整的设备名称/路径。 当索引访问时,这将作为第一个元素返回。
name 短设备名称。
description 人类可读的描述。 当索引访问时,这将作为第二个元素返回。
hwid 硬件 ID。 当索引访问时,这将作为第三个元素返回。
vid USB 供应商 ID。
pid USB 产品 ID。
serial_number 字符串形式的 USB 序列号。
location USB 设备位置字符串。
manufacturer USB 制造商字符串,由设备报告。
product USB 产品字符串,由设备报告。
interface 特定于接口的描述。
属性 | 介绍 |
device | 完整的设备名称/路径。 |
name | 短设备名称。 |
description | 设备描述 |
location | 设备位置字符串 |
hwid | 硬件 ID |
2、子线程轮询实时监测COM拔插
from PySide2.QtCore import *
from serial.tools import list_ports
class MonitorPortThread(QThread):
stop = False
portList = []
def run(self):
refreshPortList = self.getPortList()
if refreshPortList != self.portList:
removeList = list(set(self.portList) - set(refreshPortList))
if len(removeList) > 0:
for port in removeList:
UpdateSignal.message.emit("%s 已拔出" % port)
addList = list(set(refreshPortList) - set(self.portList))
if len(addList) > 0:
for port in addList:
UpdateSignal.message.emit("%s 插入" % port)
@classmethod
def getPortList(cls):
comList = []
portList = list_ports.comports()
for port in portList:
comList.append(port.name)
return comList
class UpdateSignal(QObject):
message = Signal(int, int)
updateSignal = UpdateSignal()