Вот код, который я попробовал.
Этот код был фактически написан другим пользователем, но он служит для иллюстрации моей проблемы.
Для первоначального автора код создал список устройств USB.
В моем случае он выдает аналогичный вывод, но пустой список!
Мне действительно пришлось добавить скобки для функции печати.
Не уверен, как оригинальный код работал без них.
Я использую Python 3, а не 2. Никогда не использовал 2.
Вопрос, почему мой код выдает пустой список?
(Работает в Windows 10 на ПК с процессором Intel.)
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 Control Center, предоставленном полупроводниковой компанией:
(в дальнейшем отступы были отредактированы)
<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>