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