在实际工作中,我们会使用各种各样的文件,比如pdf,txt,word,等等。而由于常年的积累,这些文件的位置乱七八糟,各种类型的文件相互混杂,找文件时,非常费力。
话不多说,亮代码!
import os
import re #正则表达式库
import shutil #shell工具,操纵文件
path="E:\\data" #要整理该目录下的文件
List=[0,0,0,0,0,0,0,0,0,0] #初始化列表
List[0]=re.compile(r'.jpg')#创建匹配模式,下同
List[1]=re.compile(r'.jpeg')
List[2]=re.compile(r'.png')
List[3]=re.compile(r'.pdf')
List[4]=re.compile(r'.txt')
List[5]=re.compile(r'.docx')
List[6]=re.compile(r'.mp4')
List[7]=re.compile(r'.wav')
List[8]=re.compile(r'.xlsx')
List[9]=re.compile(r'.zip')
n=len(List)
List2=['jpg文件夹','jpeg文件夹','png文件夹','pdf文件夹','txt文件夹',
'docx文件夹','mp4文件夹','wav文件夹','xlsx文件夹','zip文件夹']
for i in range(n):
os.makedirs("E:\\"+List2[i])#创建分类文件夹(已存在会出错),
#可创在任意位置(自选),这里创建在E盘
for folderName,subfolders,filenames in os.walk(path):
for filename in filenames:
print(filename)
for i in range(n):
if List[i].search(filename):#若匹配到,则为True
print(folderName+"\\"+filename)
shutil.copy(folderName+"\\"+filename,"E:\\"+List2[i])#复制文件到相应文件夹
break
注:
上面的程序可以实现10种常见文件类型的整理,读者可以自己按照此模式增加或者删除,非常方便!
path="E:\\data" 这是要整理的文件夹,可以随意改为自己想整理的其它文件夹。而下面程序中的E:\\,则是要在这里创建整理文件夹,用于存放整理出的文件,也可以改为其它路径。
当然,这是需要从程序端来操作,还是不太方便。未来将会写一个简易的操作界面,以便于操作。