在Windows系统中,无法直接通过Python脚本查看U盘的插拔记录。但是,可以通过注册表来获取U盘的插拔记录。下面是一个示例代码,可以获取U盘的插拔记录,并将结果输出到控制台:

import winreg

def get_usb_devices():
    # 打开注册表键
    reg_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Enum\USBSTOR")
    usb_devices = []
    
    # 遍历注册表键的子键
    for i in range(winreg.QueryInfoKey(reg_key)[0]):
        # 获取子键名称
        sub_key_name = winreg.EnumKey(reg_key, i)
        # 打开子键
        sub_key = winreg.OpenKey(reg_key, sub_key_name)
        
        # 获取子键的属性值
        try:
            device_name = winreg.QueryValueEx(sub_key, "FriendlyName")[0]
            device_serial = winreg.QueryValueEx(sub_key, "Serial")[0]
            device_manufacturer = winreg.QueryValueEx(sub_key, "Mfg")[0]
            
            # 将设备信息添加到结果列表
            usb_devices.append({
                "Name": device_name,
                "Serial": device_serial,
                "Manufacturer": device_manufacturer
            })
        except FileNotFoundError:
            continue
        
    return usb_devices

# 获取U盘插拔记录
usb_devices = get_usb_devices()

# 输出结果
for device in usb_devices:
    print("Name:", device["Name"])
    print("Serial:", device["Serial"])
    print("Manufacturer:", device["Manufacturer"])
    print("=" * 20)

这段代码通过访问注册表路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR,获取U盘的插拔记录。注意,需要以管理员身份运行Python脚本才能访问注册表


原文地址: https://www.cveoy.top/t/topic/hYiS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录