Python tarfile生成文件存档

时间:2019-07-20 12:38:58

标签: python-3.x tarfile

我需要使用不在磁盘上的文件来创建档案,并且我不想将它们放到未压缩的磁盘上。 文件是从另一个档案中获取的

def files():
    with rarfile.RarFile(archive_path) as rar:
        for filename in rar.namelist():
                yield filename, rar.open(filename)

tarfile文档说它适合于以lzma格式压缩许多文件,所以我使用它:

with tarfile.TarFile.xzopen('archive.lzma','w') as tarf:
    for filename, file in files():
        tarf.addfile(tarfile.TarInfo(filename),file)
        file.close()

但是,生成的存档不正确。它不包含来自文件或文件本身的任何数据,而是包含一个小的二进制文件“存档”。

如何在python中将文件添加到存档?

0 个答案:

没有答案