使用Python 3获取USB设备的序列号

时间:2014-07-25 12:49:20

标签: python usb serial-number

我一直在使用pyusb来访问通过USB插入的打印机的细节。我目前有以下代码工作,但似乎不同的设备需要不同的索引。这是我目前的代码:

import usb

dev = usb.core.find(idProduct=0x001f)
print(usb.util.get_string(dev,256,3))

dev2 = usb.core.find(idProduct=0x0009)
print(usb.util.get_string(dev2,256,3))

开发代码完美无缺,输出序列号,但dev2输出'Zebra',制造商名称。如果我将3更改为6或7它可以工作,但第一个dev会返回错误。

Python 2中的一个解决方案是使用print(dev.serial_number),但是在serial_number属性中,pyusb中似乎不存在Python 3。

有没有办法让所有设备都能可靠地工作?感谢。

1 个答案:

答案 0 :(得分:0)

对于当前的PyUSB版本1.0.2,我发现回答此问题的正确语法为:

Worksheet9