首先是用psutil中disk_partitions的方法,列出当前磁盘的清单。
然后写一个search_file方法,查找所有的文件,筛选出是图片的文件,保存在一个文件夹。
文件夹是用os.mkdir()的方法创建,并且用disk_partitons存放在在当前计算机的第二个机械盘下。
import os
from shutil import copy
from psutil import disk_partitions
'''
算法:
判断图片格式:.jpg .png .JPGE
判断图片大小>1M
阻塞:
如何获取磁盘列表
如何复制文件
如何获得文件后缀名和判断文件大小
'''
targetDir=disk_partitions()[1][1]+"targetDir"#创建目标文件夹
#获取磁盘信息
def get_disk():
list_disk=[]
for i in disk_partitions():
list_disk.append(i[0])
return list_disk
#遍历寻找图片
def search_path(path):
parents = os.listdir(path)
global targetDir
for parent in parents:
try:
child = os.path.join(path,parent)
if os.path.isdir(child):
search_path(child)
else:
suffix=os.path.splitext(child)[1]#获得后缀名
if suffix=='.png' or suffix=='.jpg' or suffix=='.JPGE':#判断是否为图片文件
child_size=int(os.path.getsize(child)/1024/1024)#获得图片大小
if child_size>1:#大于1M则打印
print('{0}'.format(child))
copy(child,targetDir)
except:
None
def main():
print('------------------------------{0}------------------------------'.format('复制除C盘之外的所有图片'))
try:
os.mkdir(targetDir)
except:
None
list_disk=get_disk()
for sub_disk in range(1,len(list_disk)):
search_path(list_disk[sub_disk])
print('------------------------------文件保存在:%s------------------------------' % targetDir)
if __name__=='__main__':
main()