将不同后缀文件拷贝到不同文件夹,src(类型str)为原文件名称,dst(类型str)为新建的两个不同文件夹
def split_file(src,dst1,dst2):
import os
import shutil
'''
函数作用:将不同文件中不同后缀的文件拷贝到不同文件夹
example:区分jpg和png
src:str-原文件路径
dst:str-分类后文件路径
'''
#区分jpg和png
jpg = []
png = []
for f in os.listdir(src):
if f.endswith('.jpg'): #根据后缀名不同,自己修改
jpg.append(f)
elif f.endswith('.png'): #根据后缀名不同,自己修改
png.append(f)
#创建目标文件夹
if not os.path.isdir(dst1):
os.mkdir(dst1)
if not os.path.isdir(dst2):
os.mkdir(dst2)
#激活重命名功能时,根据需要修改此处
#m=0 #将单个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化
#n=0 #将单个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化
#m=len(os.listdir(dst1)) #将多个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化
#n=len(os.listdir(dst2)) #将多个文件夹内相同后缀文件,存入两个文件夹时,激活该语句初始化
#拷贝文件到目标文件夹
for j in jpg:
_jpg = os.path.join(src, j)
shutil.copy(_jpg, dst1)
for p in png:
_png = os.path.join(src, p)
shutil.copy(_png, dst2)
#如果需要进行文件重命名,则激活以下函数
'''
jpg_new_name="j_" #重命名文件名称为j_m,可根据自己需要修改
png_new_name="p_" #重命名文件名称为p_n,可根据自己需要修改
for j in jpg:
m=m+1
_jpg = os.path.join(dst1, j)
os.renames(_jpg,os.path.join(dst1, jpg_new_name+str(m)+".jpg"))
for p in png:
n=n+1
_png = os.path.join(dst2, p)
os.renames(_png,os.path.join(dst2,png_new_name+str(n)+".png"))'''
应用:(将重命名函数激活,初始化语句也激活)
split_file("11","JPG","PNG")
split_file("22","JPG","PNG")