需求说明:某个文件夹下有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