尝试使用Python获取USB设备的管道。Python找不到任何USB设备

2024-05-29 11:19:27 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我试过的代码。
这段代码实际上是另一个用户写的, 但它可以说明我的问题。
对于原始作者,代码生成了一个USB设备列表。
在我的例子中,它产生一个类似的输出,但是一个空列表

实际上,我必须为print函数添加括号。
不知道没有它们原始代码是如何工作的。
我用的是Python3,不是2。从来没用过2

问题,为什么我的代码会产生一个空列表?
(在装有英特尔处理器的PC上运行Windows 10。)

Python  
import os  
os.environ['PYUSB_DEBUG'] = 'debug'  
import usb.core  
print list(usb.core.find(find_all=True))  

下面是在我的计算机上运行此代码的输出:

============= RESTART: C:/Appl/xxxx/xxxxxx/SandBox/debugUsb.py =============  
2019-05-01 08:24:58,129 ERROR:usb.libloader:'Libusb 1' could not be found  
2019-05-01 08:24:58,145 ERROR:usb.backend.libusb1:Error loading libusb 1.0  
 backend
2019-05-01 08:24:58,145 ERROR:usb.libloader:'OpenUSB library' could not be found
2019-05-01 08:24:58,145 ERROR:usb.backend.openusb:Error loading OpenUSB backend  
2019-05-01 08:24:58,145 INFO:usb.core:find(): using backend  "usb.backend.libusb0"  
2019-05-01 08:24:58,160 DEBUG:usb.backend.libusb0:_LibUSB.enumerate_devices()  
[]
>>> 

这是一个典型的设备,我想我可能可以看到,
如某半导体公司提供的USB控制中心所示:

(在下文中,缩进已被修订)

<HID_DEVICE>  
    FriendlyName=""  
    Manufacturer="Logitech"  
    Product="USB Trackball"  
    SerialNumber=""  
    VendorID="04 6D"  
    ProductID="C4 08"  
    Class="00h"  
    SubClass="00h"  
    Protocol="00h"  
    BcdUSB="00 00"  
    Usage="00 02"  
    UsagePage="00 01"  
    Version="14 00"  
    <FEATURE>  
        RptByteLen="2"  
        Buttons="1"  
        Values="0"  
        <BUTTON>  
            ReportID="0"  
            Usage="00 3C"  
            UsagePage="00 01"  
            UsageMax="00 3C"  
            BitField="00 22"  
            LinkCollection="00 00"  
            LinkUsage="00 02"  
            LinkUsagePage="00 01"  
            IsAlias="False"  
            IsRange="False"  
            IsStringRange="False"  
            IsDesignatorRange="False"  
            IsAbsolute="True"  
            StringIndex="0"  
            StringMax="0"  
            DesignatorIndex="0"  
            DesignatorMax="0"  
            DataIndex="0"  
            DataIndexMax="0"  
        </BUTTON>  
    </FEATURE>  
    <INPUT>  
        RptByteLen="4"  
        Buttons="1"  
        Values="2"  
        <BUTTON>  
            ReportID="0"  
            Usage="00 01"  
            UsagePage="00 09"  
            UsageMax="00 05"  
            BitField="00 02"  
            LinkCollection="00 01"  
            LinkUsage="00 01"  
            LinkUsagePage="00 01"  
            IsAlias="False"  
            IsRange="True"  
            IsStringRange="False"  
            IsDesignatorRange="False"  
            IsAbsolute="True"  
            StringIndex="0"  
            StringMax="0"  
            DesignatorIndex="0"  
            DesignatorMax="0"  
            DataIndex="0"  
            DataIndexMax="4"  
        </BUTTON>  
        <VALUE>  
            ReportID="0"  
            Usage="00 31"  
            UsagePage="00 01"  
            UsageMax="00 31"  
            BitField="00 06"  
            LinkCollection="00 01"  
            LinkUsage="00 01"  
            LinkUsagePage="00 01"  
            IsAlias="False"  
            IsRange="False"  
            IsStringRange="False"    
            IsDesignatorRange="False"
            IsAbsolute="False"  
            HasNull="False"  
            StringIndex="0"  
            StringMax="0"    
            DesignatorIndex="0"
            DesignatorMax="0"  
            DataIndex="5"  
            DataIndexMax="5"  
            BitField="00 06"  
            LinkCollection="00 01"  
            LinkUsage="00 01"  
            LinkUsagePage="00 01"  
            BitSize="8"  
            ReportCount="1"  
            Units="0"  
            UnitsExp="0"  
            LogicalMin="-127"  
            LogicalMax="127"  
            PhysicalMin="0"  
            PhysicalMax="0"  
        </VALUE>  
        <VALUE>  
            ReportID="0"  
            Usage="00 30"  
            UsagePage="00 01"  
            UsageMax="00 30"  
            BitField="00 06"  
            LinkCollection="00 01"  
            LinkUsage="00 01"  
            LinkUsagePage="00 01"  
            IsAlias="False"  
            IsRange="False"  
            IsStringRange="False"  
            IsDesignatorRange="False"  
            IsAbsolute="False"  
            HasNull="False"  
            StringIndex="0"  
            StringMax="0"  
            DesignatorIndex="0"  
            DesignatorMax="0"  
            DataIndex="6"  
            DataIndexMax="6"  
            BitField="00 06"  
            LinkCollection="00 01"  
            LinkUsage="00 01"  
            LinkUsagePage="00 01"  
            BitSize="8"  
            ReportCount="1"  
            Units="0"  
            UnitsExp="0"  
            LogicalMin="-127"  
            LogicalMax="127"  
            PhysicalMin="0"  
            PhysicalMax="0"  
        </VALUE>
    </INPUT>
</HID_DEVICE>

Tags: 代码backendfalsetrueusagebuttonerrorusb

热门问题