python在Windows上U盘识别,获取盘符

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秒进行下一次数据获取
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值