将电脑里大于1M的图片备份(C盘除外)

 首先是用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()

猜你喜欢

转载自blog.csdn.net/qq_41375702/article/details/88562475