You can do easilly. Indeed, the gzip module receives a file object as an optional argument.
import mmap import gzip filename = "a.gz" handle = open(filename, "rb") mapped = mmap.mmap(handle.fileno(), 0, access=mmap.ACCESS_READ) gzfile = gzip.GzipFile(mode="r", fileobj=mapped) print gzfile.read()
The same applies to the tarfile module:
import sys import mmap import tarfile f = open(sys.argv[1], 'rb') fo = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) tf = tarfile.open(mode='r:gz', fileobj=fo) print tf.getnames()
nopper
source share