工作中碰到一种情况,几千张图片需要分配到几十个文件夹里,分发给不同的人,遂写了个代码,如下:
# -*- coding: utf-8 -*-
import os
import shutil
import math
path = input("请输入原始文件路径:\n")
folderPath = input("请输入要输出的路径:\n")
path = path.strip("\"")
folderPath = folderPath.strip("\"")
number = int(input("请输入每个文件夹中文件数:\n")) #每包文件数量
file_list = os.listdir(path) #源文件名称列表
Number = math.ceil(len(file_list) / number) #目标文件夹数量
folderNumber = -1 #起始文件夹id ,-1是因为0 % 任意数 = 0
sort_folder_number = [x for x in range(0,Number)]
# 创建文件夹
for foldernumber in sort_folder_number:
new_folder_path = os.path.join(folderPath,'%s'%foldernumber)#new_folder_path is ‘folderPath\number'
if not os.path.exists(new_folder_path):
os.makedirs(new_folder_path)
print("new a floder named "+str(foldernumber)+'at the path of '+ new_folder_path)
#分包
for i in