mirror of
https://github.com/python/cpython.git
synced 2025-01-08 17:44:35 +08:00
7767711f54
svn+ssh://pythondev@svn.python.org/python/trunk ........ r58822 | brett.cannon | 2007-11-02 23:47:02 -0700 (Fri, 02 Nov 2007) | 2 lines Add a missing quotation mark. ........ r58840 | skip.montanaro | 2007-11-04 07:56:52 -0800 (Sun, 04 Nov 2007) | 2 lines Note change to get_dialect semantics in 2.5. Will backport to 2.5. ........ r58844 | georg.brandl | 2007-11-04 09:43:49 -0800 (Sun, 04 Nov 2007) | 2 lines Fix syntax for versionchanged markup. ........ r58850 | gregory.p.smith | 2007-11-04 18:32:26 -0800 (Sun, 04 Nov 2007) | 9 lines Fixes bug 477182 on pybsddb.sf.net. DB objects now load the flags and pay attention to them when opening an existing database. This means that d[] behaves properly even on databases previously created with DB_DUP or DB_DUPSORT flags to allow duplicate keys. http://sourceforge.net/tracker/index.php?func=detail&aid=477182&group_id=13900&atid=113900 Do not backport, this bugfix could be considered an API change. ........ r58851 | gregory.p.smith | 2007-11-04 18:56:31 -0800 (Sun, 04 Nov 2007) | 3 lines Add the bsddb.db.DBEnv.lock_id_free method. Improve test_lock's tempdir creation and cleanup. ........ r58852 | gregory.p.smith | 2007-11-05 01:06:28 -0800 (Mon, 05 Nov 2007) | 3 lines * db->get_types is only available in BerkeleyDB >= 4.2 * get compiling with older versions of python again for a stand alone release. ........ r58853 | gregory.p.smith | 2007-11-05 01:07:40 -0800 (Mon, 05 Nov 2007) | 2 lines * db->get_flags is only available in BerkeleyDB >= 4.2 ........ r58854 | mark.summerfield | 2007-11-05 01:22:48 -0800 (Mon, 05 Nov 2007) | 3 lines Added cross-references between the various archive file formats. ........ r58857 | mark.summerfield | 2007-11-05 06:38:50 -0800 (Mon, 05 Nov 2007) | 5 lines Clarified the fact that you can have comments for individual archive members even though comments to the archive itself aren't currently supported. ........
72 lines
3.2 KiB
ReStructuredText
72 lines
3.2 KiB
ReStructuredText
|
|
:mod:`gzip` --- Support for :program:`gzip` files
|
|
=================================================
|
|
|
|
.. module:: gzip
|
|
:synopsis: Interfaces for gzip compression and decompression using file objects.
|
|
|
|
|
|
The data compression provided by the ``zlib`` module is compatible with that
|
|
used by the GNU compression program :program:`gzip`. Accordingly, the
|
|
:mod:`gzip` module provides the :class:`GzipFile` class to read and write
|
|
:program:`gzip`\ -format files, automatically compressing or decompressing the
|
|
data so it looks like an ordinary file object. Note that additional file
|
|
formats which can be decompressed by the :program:`gzip` and :program:`gunzip`
|
|
programs, such as those produced by :program:`compress` and :program:`pack`,
|
|
are not supported by this module.
|
|
|
|
For other archive formats, see the :mod:`bz2`, :mod:`zipfile`, and
|
|
:mod:`tarfile` modules.
|
|
|
|
The module defines the following items:
|
|
|
|
|
|
.. class:: GzipFile([filename[, mode[, compresslevel[, fileobj]]]])
|
|
|
|
Constructor for the :class:`GzipFile` class, which simulates most of the methods
|
|
of a file object, with the exception of the :meth:`readinto` and
|
|
:meth:`truncate` methods. At least one of *fileobj* and *filename* must be
|
|
given a non-trivial value.
|
|
|
|
The new class instance is based on *fileobj*, which can be a regular file, a
|
|
:class:`StringIO` object, or any other object which simulates a file. It
|
|
defaults to ``None``, in which case *filename* is opened to provide a file
|
|
object.
|
|
|
|
When *fileobj* is not ``None``, the *filename* argument is only used to be
|
|
included in the :program:`gzip` file header, which may includes the original
|
|
filename of the uncompressed file. It defaults to the filename of *fileobj*, if
|
|
discernible; otherwise, it defaults to the empty string, and in this case the
|
|
original filename is not included in the header.
|
|
|
|
The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, ``'w'``,
|
|
or ``'wb'``, depending on whether the file will be read or written. The default
|
|
is the mode of *fileobj* if discernible; otherwise, the default is ``'rb'``. If
|
|
not given, the 'b' flag will be added to the mode to ensure the file is opened
|
|
in binary mode for cross-platform portability.
|
|
|
|
The *compresslevel* argument 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 is ``9``.
|
|
|
|
Calling a :class:`GzipFile` object's :meth:`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 :class:`StringIO` object opened for
|
|
writing as *fileobj*, and retrieve the resulting memory buffer using the
|
|
:class:`StringIO` object's :meth:`getvalue` method.
|
|
|
|
|
|
.. function:: open(filename[, mode[, compresslevel]])
|
|
|
|
This is a shorthand for ``GzipFile(filename,`` ``mode,`` ``compresslevel)``.
|
|
The *filename* argument is required; *mode* defaults to ``'rb'`` and
|
|
*compresslevel* defaults to ``9``.
|
|
|
|
|
|
.. seealso::
|
|
|
|
Module :mod:`zlib`
|
|
The basic data compression module needed to support the :program:`gzip` file
|
|
format.
|
|
|