import os
import time
import psutil
from threading import Thread
oldDiskName = [] #旧的磁盘列表
number = 0 #磁盘数,判断是否为第一次运行
'''
比较两个磁盘盘符列表,并返回新盘符列表中旧盘符列表没有的盘符名列表
'''
def arrayCompare(oldDiskName,newDiskName):
newDiskList = []
for name in newDiskName:
if name not in oldDiskName: #旧盘符中没有,则添加这个到新增盘符列表中
newDiskList.append(name)
return newDiskList
'''
获取磁盘信息,并与上次获取的信息进行比较,判断是否有新的磁盘添加进来
'''
def getDiskMessage():
global oldDiskName #声明全局变量
global number
if number == 0: #第一次操作,先获取一遍磁盘数据,然后返回
for disk in psutil.disk_partitions():
number = number + 1
oldDiskName.append(disk.device[:2]) #获取盘符信息
return
newDiskName = [] #保存新获取的磁盘信息
for disk in psutil.disk_partitions():
newDiskName.append(disk.device[:2]) #获取新的磁盘信息
newDiskList = arrayCompare(oldDiskName,newDiskName) #获取新增盘符列表
oldDiskName.clear() #清除旧盘符列表
oldDiskName = newDiskName[:] #复制新盘符列表给旧盘符列表
return newDiskList
if __name__ == '__main__':
while True:
newDiskList = getDiskMessage() #获取新数据
if newDiskList:
print('新磁盘列表:'+str(newDiskList))
break
time.sleep(1) #延时1秒进行下一次数据获取
python在Windows上U盘识别,获取盘符
最新推荐文章于 2024-05-20 20:26:39 发布