(Python) glib MonitorObserver возвращает два исключения при подключении (или отключении) USB-устройства. Зачем?
Я использую этот код для мониторинга USB-устройства:
context = Context()
monitor = Monitor.from_netlink(context)
monitor.filter_by(subsystem='usb')
monitor.poll(1.5)
observer = MonitorObserver(monitor)
observer.connect('device-event', device_event)
monitor.start()
glib.MainLoop().run()
Функция 'device_event' получает исключение со связанным действием:
add
если добавлено USB-устройство
remove
если устройство USB удалено
Итак, когда устройство добавлено, моя функция делает что-то, а когда убирается, моя функция делает что-то.
Проблема в том, что моя функция получает два исключения при добавлении устройства и два исключения при удалении устройства:
Устройство (u'/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2') Устройство (u '/ sys / devices / pci0000: 00/0000: 00: 11,0 / 0000: 02: 00.0 / USB2 / 2-2 / 2-2,2 / 2-2,2:1.0')
Я бы только одно исключение.