我需要在 python 中将多个文件压缩成一个 bz2 文件。我试图找到一种方法,但我找不到答案。可能吗?
问问题
1700 次
3 回答
1
这就是 tarball 的用途。该tar
格式将文件打包在一起,然后压缩结果。Python 可以很容易地使用模块同时完成这两项工作,tarfile
其中传递一个“模式”打开一个新的 tar 文件以进行无缝压缩'w:bz2'
写入。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)
于 2018-10-04T12:49:21.737 回答
0
看看 python 的 bz2 库。确保先谷歌并阅读文档!
https://docs.python.org/2/library/bz2.html#bz2.BZ2Compressor
于 2018-10-04T12:42:58.097 回答
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)
打开一个仅用于文件
于 2019-09-08T18:19:34.787 回答