不知道大家有没有很多照片或者文件要上传百度云,不是会员的话就会提示超过500不能上传 文件少了还行,自己动手分割一下保存为一个文件夹内只有500个的子文件夹就可以了 但是数量多的话,手动分割也很麻烦,于是就想着写了一段代码来实现 先上代码:
import os
print("本程序把一个目录下的文件按相同的数量保存为子文件夹")
print("------------------------------------------------\n")
def jindu(i,scale):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale)*100
print("\r{:^3.0f}%[{}->{}]".format(c,a,b))
file_path = input("请输入要处理的文件目录(不带引号):\n")
list_paths = os.listdir(file_path)
total = len(list_paths)
print("{} 文件夹下共有{}个文件!\n".format(file_path,total))
k = eval(input("请输入一个子文件夹里要保存的数量:\n"))
m = total // k
n = total % k
print("------执行开始------")
for i in range(m):
fath1 = file_path + "\\{}_{}\\".format((i*k+1),(i*k+k))
folder = os.path.exists(fath1)
if not folder:
os.makedirs(fath1)
for o in range(k):
os.rename(os.path.join(file_path , list_paths[i*k+o]),os.path.join(fath1 , list_paths[i*k+o]))
jindu(i,m)
if n != 0:
fath2 = file_path + "\\{}_{}\\".format(m*k+1,m*k+n)
folder = os.path.exists(fath2)
if not folder:
os.makedirs(fath2)
for o in range(n):
os.rename(os.path.join(file_path , list_paths[m*k+o]),os.path.join(fath2 , list_paths[m*k+o]))
print("------执行结束------")
input()
运行程序 原文件夹下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20201202185743350.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDYzNDU1OA==,size_16,color_FFFFFF,t_70)
|