楼主用的linux,一旦数据达到几万,文件夹打开就会变卡,同时也方便同时分工协作,便于git管理,写了个将大文件夹分割成多个小文件夹的脚本

如操作文件夹:img,脚本不破坏img的数据,创建img_1/img_2……,脚本与操作文件夹必须在同一根目录

运行时需要手动修改:mv_file('img', 10) # 操作目录,单文件夹存放数量

import os

import shutil

def mv_file(img, num):

list_ = os.listdir(img)

if num > len(list_):

print('长度需小于:', len(list_))

exit()

num_file = int(len(list_)/num) + 1

cnt = 0

for n in range(1,num_file+1): # 创建文件夹

new_file = os.path.join(img + '_' + str(n))

if os.path.exists(new_file+'_'+str(cnt)):

print('该路径已存在,请解决冲突', new_file)

exit()

print('创建文件夹:', new_file)

os.mkdir(new_file)

list_n = list_[num*cnt:num*(cnt+1)]

for m in list_n:

old_path = os.path.join(img, m)

new_path = os.path.join(new_file, m)

shutil.copy(old_path, new_path)

cnt = cnt + 1

print('============task OK!===========')

if __name__ == "__main__":

mv_file('img', 10) # 操作目录,单文件夹存放数量

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐