I have to frequently search through a couple of .7z (zipped with LZMA) files. I don't have enough memory to have them unpacked at the same time or to change the archive to .gz. At the moment I unpack one, search for what I need, delete what was extracted, unpack the next. I want to go through the archives in the same way as with gzip:
f = gzip.open('archive.gz')
for i in f:
do stuff
Is there a module/way to do this with .7z files?
There is a built in module in Python >= 3.3: http://docs.python.org/3.3/library/lzma
And there is also a backport of the module on the PyPI: https://pypi.python.org/pypi/backports.lzma
(If you're on Windows and you don't want to compile it by yourself you can use the PyLZMA package from Unofficial Windows Binaries for Python).
来源:https://stackoverflow.com/questions/18868934/is-there-an-equivalent-of-gzip-open-for-7z-files