如何获取Manufacture Name
,Size
等USB信息?
我正在使用Ubuntu 16
。
和Python 2.7.12
答案 0 :(得分:0)
你有没有试过这样的事情:
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
print (repr(dev))
print("manufacturer", dev.iManufacturer)
print("Size", dev.iSize)
注意:我认为只有在一次连接一个USB时它才会起作用
答案 1 :(得分:0)
使用此功能,您可以在pyusb
中打印所有 USB字符串描述符:制造商字符串描述符,产品字符串描述符,序列号字符串描述符(适用于所有USB设备,包括主机控制器)cf https://www-user.tu-chemnitz.de/~heha/viewchm.php/hs/usb.chm/usb5.htm
import usb
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
manufacturer = usb.util.get_string(dev.dev, dev.dev.iManufacturer)
print str(manufacturer)
product = usb.util.get_string(dev.dev, dev.dev.iProduct)
print str(product)
serialnumber = usb.util.get_string(dev.dev, dev.dev.iSerialNumber)
print str(serialnumber)
print('\n')
你必须以root身份/ sudo
来调用它,否则会出现ValueError: The device has no langid
错误
您可以使用其名称打印的其他USB属性:
import usb
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
print " Device class:",dev.dev.bDeviceClass
print " Device sub class:",dev.dev.bDeviceSubClass
print " Device protocol:",dev.dev.bDeviceProtocol