当你的文件非常的多,想要分组处理的话,就需要一个自动分组处理脚本
python auto_group.py [src_dir] [dest_dir] [number_of_cpu]
第一个参数是源目录地址,第二个参数是目标目录地址,第三个参数是cpu的个数。
以下是auto_group.py的源码。
import os
import os.path
import sys
def copy_files(src_dir, dest_dir, cpu):
count = 0
cnt = 0
number = len(os.listdir(src_dir))
temp = 0
if number%cpu > 0:
temp = 1
folder_capacity = int(number / cpu) + temp
print(folder_capacity)
for item in os.listdir(src_dir):
abs_item = os.path.join(src_dir, item)
if os.path.isfile(abs_item):
count += 1
if count%folder_capacity == 1:
cnt += 1
current_folder = os.path.join(dest_dir, str(cnt))
os.mkdir(current_folder)
print(current_folder)
open(os.path.join(current_folder, item), 'wb').write(open(abs_item, 'rb').read())
src_dir = sys.argv[1]
dest_dir = sys.argv[2]
cpu = int(sys.argv[3])
copy_files(src_dir, dest_dir, cpu)