如何在Python中获取USB设备

在Python中,我们可以使用第三方库pyusb来获取USB设备的信息。pyusb是一个Python模块,用于与USB设备进行通信和控制。通过使用pyusb,我们可以列出系统中连接的USB设备、获取USB设备的描述信息、打开和关闭USB设备等操作。

安装pyusb

首先,我们需要安装pyusb库。可以使用pip命令来安装:

pip install pyusb

列出系统中的USB设备

接下来,我们可以使用pyusb来列出系统中连接的USB设备。下面是一个简单的示例代码:

import usb.core
import usb.util

# 列出系统中的USB设备
dev = usb.core.find(find_all=True)

for device in dev:
    print("Vendor ID: 0x{:04x}, Product ID: 0x{:04x}".format(device.idVendor, device.idProduct))

上面的代码中,我们使用usb.core.find()方法来列出系统中的所有USB设备,并打印出每个设备的厂商ID和产品ID。

获取USB设备的描述信息

除了列出USB设备的ID外,我们还可以获取USB设备的描述信息,比如设备的制造商、产品名称等。下面是一个示例代码:

import usb.core
import usb.util

# 查找指定Vendor ID和Product ID的USB设备
dev = usb.core.find(idVendor=0x045e, idProduct=0x0772)

if dev is not None:
    # 获取USB设备的描述信息
    manufacturer = usb.util.get_string(dev, dev.iManufacturer)
    product = usb.util.get_string(dev, dev.iProduct)

    print("Manufacturer: {}".format(manufacturer))
    print("Product: {}".format(product))
else:
    print("USB设备未找到.")

在上面的代码中,我们使用指定的Vendor ID和Product ID来查找USB设备,并获取设备的制造商和产品名称。

打开和关闭USB设备

最后,我们还可以使用pyusb来打开和关闭USB设备。下面是一个示例代码:

import usb.core
import usb.util

# 查找指定Vendor ID和Product ID的USB设备
dev = usb.core.find(idVendor=0x045e, idProduct=0x0772)

if dev is not None:
    # 打开USB设备
    dev.set_configuration()

    # 在这里可以对USB设备进行读写操作

    # 关闭USB设备
    usb.util.dispose_resources(dev)
else:
    print("USB设备未找到.")

在上面的代码中,我们首先通过指定的Vendor ID和Product ID查找USB设备,然后使用set_configuration()方法打开设备,在需要时进行读写操作,最后使用dispose_resources()方法关闭设备。

总的来说,通过使用pyusb库,我们可以很方便地获取USB设备的信息,并与USB设备进行交互。希望以上内容对你有所帮助!


引用形式的描述信息

本文参考了官方文档和实际项目经验,对Python中获取USB设备的方法进行了整理和解释。


pie
    title USB设备厂商占比
    "Vendor A": 30
    "Vendor B": 20
    "Vendor C": 50

结语

在本文中,我们介绍了如何在Python中获取USB设备的方法,包括列出系统中的USB设备、获取USB设备的描述信息、以及打开和关闭USB设备。通过使用pyusb库,我们可以方便地与USB设备进行交互,并获取所需的信息。希望本文对你有所帮助,谢谢阅读!