这段代码使用psutil库检查计算机上的磁盘分区,如果分区被标记为"removable"(可移动),则它将被识别为USB设备。此示例每隔5秒检查一次,您可以根据需要调整时间间隔。
import time
import psutil
def check_usb_devices():
while True:
disks = psutil.disk_partitions()
for disk in disks:
if 'removable' in disk.opts:
print(f"USB device detected: {disk.device}")
time.sleep(5) # 每隔5秒检查一次
if __name__ == "__main__":
check_usb_devices()
抛砖引玉,这只是一个简单的示例,真正的USB设备监控可能需要更复杂的逻辑,包括记录设备信息、检查设备内容等。此外,这个示例仅适用于Windows操作系统。在Linux和macOS上,检测USB设备可能需要不同的方法。
还可以使用Python的第三方库pyudev来检测USB设备的插入和拔出。这个库在Linux系统上非常有用。以下是一个示例:
import pyudev
from time import sleep
def monitor_usb_devices():
context = pyudev.Context()
monitor = pyudev.Monitor.from_netlink(context)
monitor.filter_by(subsystem='usb')
for device in iter(monitor.poll, None):
if device.action == 'add':
print(f"USB device inserted: {device}")
# 在这里执行您希望的操作,例如记录设备信息或触发警报
elif device.action == 'remove':
print(f"USB device removed: {device}")
# 在这里执行您希望的操作,例如记录设备信息或触发警报
if __name__ == "__main__":
monitor_usb_devices()
本文部分代码引用自https://www.os-monitor.com/