Следующий фрагмент от pyusb tutuorial. Он используется, чтобы найти все принтеры, подключенные:Что происходит в этом коде Python?
import usb.core
import usb.util
import sys
class find_class(object):
def __init__(self, class_):
self._class = class_
def __call__(self, device):
# first, let's check the device
if device.bDeviceClass == self._class:
return True
# ok, transverse all devices to find an
# interface that matches our class
for cfg in device:
# find_descriptor: what's it?
intf = usb.util.find_descriptor(
cfg,
bInterfaceClass=self._class
)
if intf is not None:
return True
return False
printers = usb.core.find(find_all=1, custom_match=find_all(7))
Этот класс, кажется, есть несколько точек, где она возвращает логическое значение. Сколько отправлений отправляется?
Также я не мог понять, как этот код выполняет поиск всех принтеров, подключенных к системе. вещи в этом коде, что побег меня являются:
- Является
device
список/кортеж? Если да, как этот код проверяет все устройства, выполнивif device.bDeviceClass == self._class:
только один раз? - , что происходит в этой строке:
self._class = class_
почему класс
find_class
никогда не конкретизируется вprinters = usb.core.find(find_all=1, custom_match=find_all(7))
Если вы работали на pyusb/любая программа, USB, пожалуйста, скажите мне, как.
Что такое downvote? –
+1 :) выглядит довольно ясно для меня –