简体   繁体   中英

Is there an equivalent of gzip.open() for .7z files?

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 ).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM