需求说明:某个文件夹下有2000多个文件,我需要将他们分成多个文件夹进行存放,每100个文件分成一个文件夹,并且命名要有规范,序号为3位数,不足3位数则用“0”来补齐位数。
import os import shutil #功能:文件打包功能 def mkdir(path): folder = os.path.exists(path) if not folder: #判断是否存在文件夹如果不存在则创建为文件夹 os.makedirs(path) #makedirs 创建文件时如果路径不存在会创建这个路径 else: pass path = r'D:\dataset_normal\ski_11' #原始数据的路径地址(根据自身需求进行修改) dirs = os.listdir(path) for index,file in enumerate(dirs): print(index,':',file) for i in range(index+1): if 100*i <= index and index < 100*(i + 1): #100代表着每一个文件夹存放100个文件 if index % 100 == 0: #100代表着每一个文件夹存放100个文件 target_file = 'C:/Users/Desktop' + '/' + 'ski_11_{0:0>3d}'.format(int((index/100)+1)) #目标数据的路径地址(根据自身需求进行修改) mkdir(target_file) else: pass source_file = os.path.join(path,file) print('source_file:',source_file) shutil.copy(source_file,target_file) else: pass