我有一个目录结构,里面有很多文件(约 100 万个),我想将它们压缩成 10k 个文件的块。到目前为止,我有这个,它会创建垃圾文件——当我解压缩它们时,看起来所有文件都被放入一个长文件而不是单个文件中——我被卡住了。任何帮助将不胜感激。
dirctr = 1
for root, dirs, files in os.walk(args.input_dir, followlinks=False):
counter = 1
curtar= args.output_dir + 'File' + str(dirctr) + '.gz'
tar = tarfile.open(name=curtar, mode="w:gz")
for filename in files:
if ((counter -1) % args.files_per_dir) == 0:
if tarfile.is_tarfile(curtar):
tar.close(curtar)
dirctr = dirctr + 1
curtar= args.output_dir + 'File' + str(dirctr) + '.gz'
tar.open(name=curtar, mode="w:gz")
tar.add(os.path.join(root,filename))
counter = counter + 1
tar.close(curtar)