簡體   English   中英

如何在python中檢索USB信息

[英]How to retrieve usb information in python

如何獲取USB信息,例如Manufacture NameSize等? 我正在使用Ubuntu 16 和Python 2.7.12

您是否嘗試過像這樣的事情:

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時,它才能工作

與此相關,您可以在pyusb打印所有USB字符串描述符制造商字符串描述符產品字符串描述符序列號字符串描述符 (適用於所有USB設備,包括主機控制器),請參見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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM