• windodws pyusb hub端口对应连接的usb设备


    源码:

     1 #!/usr/bin/python
     2     import sys
     3     import usb.core
     4     # find USB devices
     5     dev = usb.core.find(find_all=True)
     6     # loop through devices, printing vendor and product ids in decimal and hex
     7     for cfg in dev:
     8         if cfg.idVendor == 0x2207:
     9             print(str(cfg.serial_number))        # 之前就是这里报错
    10             print(str(cfg.port_number))
    11             sys.stdout.write('Decimal VendorID=' + str(cfg.idVendor) + '& ProductID=' + str(cfg.idProduct) + '
    ')
    12             sys.stdout.write('Hexadecimal VendorID=' + hex(cfg.idVendor) + '& ProductID=' + hex(cfg.idProduct) + '
    
    ')

    遇到的问题:

    通过pyusb打印出usb设备的所有属性,发现关于serial_number的属性发生了异常,异常如下:
    'Traceback (most recent call last):
    File "D:\Program Files\JetBrains\PyCharm 2019.3.1\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_resolver.py", line 178, in _getPyDictionary
    attr = getattr(var, n)
    File "D:\Program Files\Python37\lib\site-packages\usb\core.py", line 830, in serial_number
    self._serial_number = util.get_string(self, self.iSerialNumber)
    File "D:\Program Files\Python37\lib\site-packages\usb\util.py", line 314, in get_string
    raise ValueError("The device has no langid")
    ValueError: The device has no langid

    解决办法:

    通过zadig软件安装libusb-win32,libusbk

    问题分析:

    https://stackoverflow.com/questions/58131082/simple-communication-usb-with-python-pyusb-on-windows-10
    https://sourceforge.net/p/pyusb/mailman/pyusb-users/?viewmonth=201608

    后续

     

     1 
  • 相关阅读:
    Philosopher(set 线段树合并)
    [NOI2013]书法家
    [NOI2013]树的计数
    [NOI2013]向量内积
    对于有关东方的题目的整理。。
    BZOJ 1412: [ZJOI2009]狼和羊的故事
    BZOJ 1877: [SDOI2009]晨跑
    BZOJ 2039: [2009国家集训队]employ人员雇佣
    BZOJ 1934: [Shoi2007]Vote 善意的投票
    BZOJ 1070: [SCOI2007]修车
  • 原文地址:https://www.cnblogs.com/jiangyibo/p/12134378.html
Copyright © 2020-2023  润新知