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

时间:2018-10-04 12:40:42

标签: python bz2

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

3 个答案:

答案 0 :(得分:1)

这是tarball的用途。 tar格式将文件打包在一起,然后压缩结果。 Python使得使用the tarfile module一次可以轻松实现这两者,在其中传递'w:bz2'的“模式”会打开一个新的tar文件,以进行无缝bz2压缩。超简单的示例:

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)

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您具有以下用途的进口包

import tarfile,bz2

和multilfile以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)

打开一个仅用于文件的文件