python 获取当前PC接入的COM口、轮询实时监测COM拔插

目录

1、获取当前COM设备信息

2、子线程轮询实时监测COM拔插


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()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值