我一直在使用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),但是在pyusb的Python 3中似乎不存在serial_number属性。
有没有一种可靠地使所有设备都工作的方法?谢谢。
idProduct=iSerialNumber
这样吗? - The2ndSonusb.util.get_string(dev2,256,iSerialNumber)
。idProduct=0x001f是我正在访问的设备特定的。 - Bobblet