我需要使用不在磁盘上的文件来创建档案,并且我不想将它们放到未压缩的磁盘上。 文件是从另一个档案中获取的
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中将文件添加到存档?