我使用此代码来监控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'函数接收具有相关操作的异常:
如果添加了USB设备,则 add
remove
如果删除USB设备
所以,当添加设备时,我的功能会做一些事情,当删除时,我的功能会做些事情。
问题是我的功能在添加设备时会收到两个异常,而在删除设备时会有两个异常:
设备(U' / SYS /设备/ pci0000:00/0000:00:11.0 / 0000:02:00.0 / USB2 / 2-2 / 2-2.2') 设备(U' / SYS /设备/ pci0000:00/0000:00:11.0 / 0000:02:00.0 / USB2 / 2-2 / 2-2.2 / 2-2.2:1.0&#39)
我只会有一个例外。