首页  :: 新随笔  :: 管理

上传百度网盘超过500个文件,拆分python脚本

Posted on 2023-06-22 11:26  季枫  阅读(189)  评论(0编辑  收藏  举报

放到任意目录,运行

python .\baidu_pan_500_cutter.py
本程序把一个目录下的文件按相同的数量保存为子文件夹
------------------------------------------------

请输入要处理的文件目录(不带引号):
D:\Iphone11\2023.06.22\DCIM
D:\Iphone11\2023.06.22\DCIM 文件夹下共有740个文件!

请输入一个子文件夹里要保存的数量:
500
------执行开始------
0 %[->.]
------执行结束------

 

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()

  

智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |