是否有相当于.zz文件的gzip.open()?

Nie*_*ein 6 python windows 7zip archive

我必须经常搜索几个.7z(用LZMA压缩)文件.我没有足够的内存来同时解压缩或将存档更改为.gz.目前我解压缩一个,搜索我需要的东西,删除提取的内容,解压缩下一个.我想以与gzip相同的方式浏览档案:

f = gzip.open('archive.gz')
for i in f:
    do stuff
Run Code Online (Sandbox Code Playgroud)

有一个模块/方法用.7z文件吗?

Vik*_*kez 5

Python> = 3.3中有一个内置模块:http://docs.python.org/3.3/library/lzma

PyPI上还有一个模块的后端:https://pypi.python.org/pypi/backports.lzma

(如果您使用的是Windows,并且您不想自己编译它,则可以使用非官方Windows二进制文件中的PyLZMA软件包).

  • 请注意,虽然7z使用LZMA作为执行压缩的主力,但7z和LZMA并不是一回事.我在[这篇文章]中详细解释了这一点(http://stackoverflow.com/a/36093803/1233513) (3认同)