USB интерфейс в Python
У меня есть это ( http://www.gesytec.de/en/download/easylon/p/16/) USB-устройство, подключенное к моей Win7. Я просто пытаюсь прочитать идентификатор поставщика и идентификатор продукта. У меня есть Python 2.7.
Вот код,
import usb
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
print "Device:", dev.filename
print " idVendor: %d (0x%04x)" % (dev.idVendor, dev.idVendor)
print " idProduct: %d (0x%04x)" % (dev.idProduct, dev.idProduct)
Я получаю следующую ошибку,
"File "<stdin>", line 1, in <module>
File "C:\Python27\lib\usb\core.py", line 846, in find
raise ValueError('No backend available')
ValueError: No backend available"
Что я здесь не так делаю?
2 ответа
Вы установили пакет библиотеки usb? Если это так, вам может понадобиться добавить его в свой путь.
Я закончил тем, что использовал dll, предоставленный изготовителем вместо USB lib.
используемая в настоящее время библиотека
import usb.core
import usb.backend.libusb0
backend = usb.backend.libusb0.get_backend(find_library=lambda x: "C:\Windows\system32\libusb0.dll")
# find your device #1
devices = usb.core.find(find_all=True)
for d in devices:
print(d)
# find your device #2
import usb
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
print("Device:", dev.filename)
print (" idVendor: %d (0x%04x)" % (dev.idVendor, dev.idVendor))
print (" idProduct: %d (0x%04x)" % (dev.idProduct, dev.idProduct))