from psutil import disk_partitions
from shutil import copytree
from time import sleep
whileTrue:
sleep(2)# 检查所有驱动器for item in disk_partitions():# 发现可移动驱动器if'removable'in item.opts:
driver = item.device
# 输出可移动驱动器符号print('Found USB disk:', driver)try:# 复制U盘根目录,到电脑指定位置
copytree(driver,r'C:\Users\admin\Desktop\1')print('all files copied.')except Exception as e:print(e)# 循环监测U盘是否拔出,拔出就退出当前循环whileTrue:
disk_list =[]
sleep(2)for i in disk_partitions():
disk_list.append(i.opts)if item.opts notin disk_list:print("USB disk unplugged")breakelse:print("No USB disk found")continue
二、MAC U盘插拔监测
MAC环境监测U盘插拔,通过Linux命令查询是否插入U盘
from time import sleep
import os
whileTrue:
sleep(5)# NTFS格式、FAT23格式、exFAT格式format=["ntfs","msdos","exfat"]for i informat:# 通过shell命令查询是否插入U盘print("mount | grep {0} | awk -F ' ' {1}".format(i,"'{print $1}'"))# 返回的是一个文件对象
udev = os.popen("mount | grep {0} | awk -F ' ' {1}".format(i,"'{print $1}'"))# 通过文件的read()读取所返回的内容
udev_result = udev.read()# 返回值是文件对象,使用完必须关闭。
udev.close()if udev_result:print("USB disk connected")whileTrue:
sleep(5)
udev = os.popen("mount | grep {0} | awk -F ' ' {1}".format(i,"'{print $1}'"))
udev_result = udev.read()
udev .close()ifnot udev_result:print("USB disk unplugged")breakelse:print("No USB disk found")continue