使用this answer,我们可以在精确的时刻查询所有连接的USB设备。
我有一个在Linux上运行的Python程序(Debian或RaspBian)执行特定的任务,但我也希望该程序在新连接USB设备时监听 ,当发生这种情况时,触发一个特定的动作。
我正在考虑做一个新的thread
:
while True:
list_USB_devices() # using https://stackoverflow.com/a/8265634/1422096
see_if_new_devices_in_this_list()
time.sleep(2) # wait 2 seconds
但我觉得这个解决方案并不优雅。
如果连接了新的USB设备,在Python程序的后台检测哪种更干净的解决方案?
我程序的应用示例:收听是否连接了新的USB-MIDI键盘/设备,如果是,请将其附加rtmidi-python
“即插即用! “
答案 0 :(得分:1)
查看gio库(glib的一部分)。您可以在创建设备时附加手表并连接回调。这样您根本不需要轮询。在设备目录上设置监视,查找文件创建。过滤掉不感兴趣的文件。
您也可以查看'udev'系统本身,并编写一个规则来执行新的usb设备的显示。