I\'m trying to figure how to use mmap with a gzip compressed file. Is that even possible ?
import mmap import os import gzip filename = r\'C:\\temp\\data.gz\' file
You can do easilly. Indeed the gzip module gets as optional argument a file-like object.
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 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()