栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Python中查询连接的USB设备信息的简单方法?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python中查询连接的USB设备信息的简单方法?

我可以想到这样的快速代码。

由于可以通过/ dev / bus / usb / <总线> / <设备>访问所有USB端口

对于生成的ID,即使您拔出设备并重新连接设备,它也可能是其他端口。会是一样的。

import reimport subprocessdevice_re = re.compile("Buss+(?P<bus>d+)s+Devices+(?P<device>d+).+IDs(?P<id>w+:w+)s(?P<tag>.+)$", re.I)df = subprocess.check_output("lsusb")devices = []for i in df.split('n'):    if i:        info = device_re.match(i)        if info: dinfo = info.groupdict() dinfo['device'] = '/dev/bus/usb/%s/%s' % (dinfo.pop('bus'), dinfo.pop('device')) devices.append(dinfo)print devices

示例输出如下:

[{'device': '/dev/bus/usb/001/009', 'tag': 'Apple, Inc. Optical USB Mouse [Mitsumi]', 'id': '05ac:0304'},{'device': '/dev/bus/usb/001/001', 'tag': 'Linux Foundation 2.0 root hub', 'id': '1d6b:0002'},{'device': '/dev/bus/usb/001/002', 'tag': 'Intel Corp. Integrated Rate Matching Hub', 'id': '8087:0020'},{'device': '/dev/bus/usb/001/004', 'tag': 'Microdia ', 'id': '0c45:641d'}]

针对Python 3更新的代码

import reimport subprocessdevice_re = re.compile(b"Buss+(?P<bus>d+)s+Devices+(?P<device>d+).+IDs(?P<id>w+:w+)s(?P<tag>.+)$", re.I)df = subprocess.check_output("lsusb")devices = []for i in df.split(b'n'):    if i:        info = device_re.match(i)        if info: dinfo = info.groupdict() dinfo['device'] = '/dev/bus/usb/%s/%s' % (dinfo.pop('bus'), dinfo.pop('device')) devices.append(dinfo)print(devices)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/637923.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号