gzip
The data compression provided by the zlib
module is compatible
with that used by the GNU compression program `gzip
'.
Accordingly, the gzip
module provides the GzipFile
class
to read and write `gzip
'-format files, automatically compressing
or decompressing the data so it looks like an ordinary file object.
GzipFile
objects simulate most of the methods of a file
object, though it's not possible to use the seek()
and
tell()
methods to access the file randomly.
GzipFile
object on top of fileobj, which
can be a regular file, a StringIO
object, or any object which
simulates a file.
The `gzip
' file format includes the original filename of the
uncompressed file; when opening a GzipFile
object for
writing, it can be set by the filename argument. The default
value is an empty string.
mode can be either 'r'
or 'w'
depending on
whether the file will be read or written. compresslevel is an
integer from 1 to 9 controlling the level of compression; 1 is
fastest and produces the least compression, and 9 is slowest and
produces the most compression. The default value of
compresslevel is 9.
Calling a GzipFile
object's close()
method does not
close fileobj, since you might wish to append more material
after the compressed data. This also allows you to pass a
StringIO
object opened for writing as fileobj, and
retrieve the resulting memory buffer using the StringIO
object's getvalue()
method.
See Also:
zlib
(the basic data compression module)