正在尝试使用PyUSB生成产品/供应商ID列表



我正试图用Pyusb生成一个产品/供应商ID列表,但遇到了问题。我在网上找到了orangecat的一个建议。

import sys
import usb.core
import usb.util
dev = usb.core.find(find_all=True)
if dev is None:
   raise ValueError('Device not found')
cfg = dev.get_active_configuration()

Python给出了以下错误:

Traceback (most recent call last):
  File "C:/Python27/usbfinddevices.py", line 10, in <module>
    cfg = dev.get_active_configuration()
AttributeError: 'generator' object has no attribute 'get_active_configuration'

有人能帮我理解为什么我会出现这个错误吗?感谢

您已经接近目标,但您需要遍历作为生成器的dev对象。

dev = usb.core.find(find_all=True)
for d in dev:
    print usb.util.get_string(d,128,d.iManufacturer)
    print usb.util.get_string(d,128,d.iProduct)
    print (d.idProduct,d.idVendor)

保存此脚本

test.py

import usb.core
import usb.util
dev = usb.core.find(find_all=True)
# get next item from the generator
d = dev.next() 
print d.get_active_configuration()

然后,运行这个

sudo python test.py

在使用Python 3的Windows上,您需要将d = dev.next()行更改为d = next(dev)行(如@gabin在评论中所指出的)

相关内容

  • 没有找到相关文章

最新更新