解压缩存档并将其bzip2存入内存?

时间:2019-09-21 15:45:37

标签: python-3.x

您将如何解压缩包含单个文件(x.zip)的档案(x.txt),然后将其bzip2在内存中仅将生成的bzip2文件写入磁盘?

a.zip(a.txt) -> a.txt.bz2

这有可能吗?

1 个答案:

答案 0 :(得分:1)

我将解决方案推广到一个包含一个或多个不带目录结构的文件的zip文件中。

import bz2
from zipfile import ZipFile

with ZipFile("files.zip", 'r') as zf:
    files = zf.namelist()
    for fn in files:
        f_bz2 = bz2.compress(zf.read(fn))
        with bz2.open(f"{fn}.bz2", "wb") as f:
            f.write(f_bz2)