将大目录拆分为文件块

时间:2021-07-28 20:46:37

标签: python tarfile

我有一个目录结构,里面有很多文件(约 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)

0 个答案:

没有答案
相关问题