欢迎访问宙启技术站
智能推送

Python脚本实例:实时监测USB设备状态

发布时间:2023-12-16 03:21:24

下面是一个实时监测USB设备状态的Python脚本示例,以及如何使用它:

import subprocess
import re

def get_usb_devices():
    # 使用subprocess模块执行命令获取USB设备信息
    command_output = subprocess.run(["lsusb"], capture_output=True, text=True).stdout
    device_lines = command_output.split('
')
    devices = []

    # 解析命令输出,提取设备信息
    for line in device_lines:
        if line:
            device_info = re.search(r'Bus (\d+) Device (\d+): ID (\w+:\w+)', line)
            if device_info:
                bus = device_info.group(1)
                device = device_info.group(2)
                device_id = device_info.group(3)
                devices.append((bus, device, device_id))

    return devices

# 不断监测USB设备状态
while True:
    current_devices = get_usb_devices()
    print("当前连接的USB设备:")
    for device in current_devices:
        print(f"Bus {device[0]}, Device {device[1]}: {device[2]}")

    # 休眠1秒后再次获取设备信息
    subprocess.run(["sleep", "1"])

上述脚本的功能是实时监测当前连接的USB设备状态,并输出设备的Bus、Device和设备ID。

使用该脚本很简单,只需将其保存为usb_monitor.py,并在终端中执行以下命令:

python usb_monitor.py

脚本会不断输出当前连接的USB设备信息,并每秒更新一次。

示例输出:

当前连接的USB设备:
Bus 001, Device 011: 1a2b:3c4d
Bus 002, Device 003: 5e6f:7g8h

以上是一个基本的实时监测USB设备状态的Python脚本实例及其使用方法。你可以根据实际需求对其进行扩展和优化。