Python 是一種功能強大的編程語言,支持許多任務,例如在硬件上檢測 U 盤。Python 提供了一個標準庫,可以幫助我們訪問和控制計算機硬件。在本文中,我們將使用 Python 檢測 USB 驅動器。
import time
import threading
import os
def get_drives():
result = []
if os.name == 'nt':
# windows
from ctypes import windll
bitmask = windll.kernel32.GetLogicalDrives()
for letter in range(65, 91):
if (bitmask >>letter) & 1:
result.append(chr(letter) + ':')
else:
# unix, linux, mac
result = [root for root, dirs, files in os.walk('/', followlinks=True)]
return result
def monitor_drives():
drives = get_drives()
while True:
drives_now = get_drives()
# check new drives
for drive in drives_now:
if drive not in drives:
print('New Drive Detected:', drive)
# check removed drives
for drive in drives:
if drive not in drives_now:
print('Drive Removed:', drive)
drives = drives_now
time.sleep(1)
if __name__ == '__main__':
t = threading.Thread(target=monitor_drives)
t.start()
Python 代碼中,我們開始定義了一個函數get_drives()
,它返回當前計算機上所有已連接的分區。該函數使用不同的技術來檢測分區:在 Windows 上,它使用 Windows API,而在其他系統上,它使用實用程序 os.walk。還有一個函數monitor_drives()
,在后臺啟動一個無限循環,不斷檢查計算機上的新分區和刪除的分區。我們使用線程將其作為單獨的進程運行。
要運行程序,只需將代碼保存到名為monitor_usb.py
的文件中,并在終端中鍵入
python monitor_usb.py
當您插入新的 USB 驅動器時,應該會看到一個消息,報告帶有 USB 驅動器字母的“New Drive Detected”。同樣,如果您拔出 USB 驅動器,它應該告訴您“驅動器已刪除”。使用此代碼,您可以輕松檢測 USB 驅動器插入和拔出,并可以執行其他操作以便做出響應。
上一篇c 后臺添加json
下一篇python 繪圖板