将多个文件压缩成 python 中的 bz2 文件

compress multiple files into a bz2 file in python

我需要在python中将多个文件压缩成一个bz2文件。 我正在尝试找到一种方法,但找不到答案。 可能吗?

看看 python 的 bz2 库。确保 google 并先阅读文档!

https://docs.python.org/2/library/bz2.html#bz2.BZ2Compressor

这就是 tar球的用途。 tar 格式将文件打包在一起,然后压缩结果。 Python 使用 the tarfile module 可以很容易地同时执行这两项操作,其中传递 'w:bz2' 的 "mode" 会打开一个新的 tar 文件,以便使用无缝 [=15] 进行写入=]压缩。超级简单的例子:

import tarfile

with tarfile.open('mytar.tar.bz2', 'w:bz2') as tar:
    for file in mylistoffiles:
        tar.add(file)

如果您不需要对操作进行太多控制,shutil.make_archive 可能是一个可能的替代方案,它将压缩整个目录树的代码简化为:

shutil.make_archive('mytar', 'bztar', directory_to_compress)

您有以下的导入包:

import tarfile,bz2

并以 bz 格式压缩多文件

tar = tarfile.open("save the directory.tar.bz", "w:bz2")
for f in ["gti.png","gti.txt","file.taz"]:
    tar.add(os.path.basename(f))
tar.close()

让我们使用 zip 格式在一个目录中打开文件

一次使用

os.path.basename(src_file)

只打开一个文件