[英]Detect when new USB device is connected (plug'n'play)
使用此答案 ,我們可以查詢所有在特定時刻連接的USB設備。
我有一個在Linux(Debian或RaspBian)上運行的Python程序,它執行特定的任務, 但是我還希望該程序偵聽是否連接了新的 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
“ Plug and play!”進行連接。
查看gio庫(glib的一部分)。 您可以在創建設備時附加監視並連接回調。 這樣,您根本不需要輪詢。 在設備目錄上設置一個監視,以查找文件創建。 過濾掉不感興趣的文件。
您可能還可以查看'udev'系統本身,並編寫規則以在新USB設備出現后執行某些操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.