我需要在python中将多个文件压缩为一个bz2文件。 我正在尝试找到一种方法,但是找不到答案。 有可能吗?
答案 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)
打开一个仅用于文件的文件