我一直在使用 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))
Run Code Online (Sandbox Code Playgroud)
dev 的代码运行良好,输出序列号,但 dev2 输出“Zebra”,即制造商名称。如果我将 3 更改为 6 或 7,它可以工作,但第一个开发人员会返回错误。
Python 2 中的一种解决方案是使用 print(dev.serial_number),但在 Python 3 的 pyusb 中,serial_number 属性似乎不存在。
有没有办法让它在所有设备上可靠地工作?谢谢。