summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-05-20 08:25:48 (GMT)
committerGeorg Brandl <georg@python.org>2008-05-20 08:25:48 (GMT)
commit112aa5032985925608844d7421e12703afd6ce41 (patch)
treeb7e26da27c90471192c42afea278b8b9f59ef9f3 /Doc
parent4dd019fde36b53b30e69a2ce9cee3f2f9f25c2a6 (diff)
downloadcpython-112aa5032985925608844d7421e12703afd6ce41.zip
cpython-112aa5032985925608844d7421e12703afd6ce41.tar.gz
cpython-112aa5032985925608844d7421e12703afd6ce41.tar.bz2
Patch #1775025: allow opening zipfile members via ZipInfo instances.
Patch by Graham Horler.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/zipfile.rst35
1 files changed, 21 insertions, 14 deletions
diff --git a/Doc/library/zipfile.rst b/Doc/library/zipfile.rst
index 5f509aa..f87b856 100644
--- a/Doc/library/zipfile.rst
+++ b/Doc/library/zipfile.rst
@@ -155,11 +155,11 @@ ZipFile Objects
.. method:: ZipFile.open(name[, mode[, pwd]])
Extract a member from the archive as a file-like object (ZipExtFile). *name* is
- the name of the file in the archive. The *mode* parameter, if included, must be
- one of the following: ``'r'`` (the default), ``'U'``, or ``'rU'``. Choosing
- ``'U'`` or ``'rU'`` will enable universal newline support in the read-only
- object. *pwd* is the password used for encrypted files. Calling :meth:`open`
- on a closed ZipFile will raise a :exc:`RuntimeError`.
+ the name of the file in the archive, or a :class:`ZipInfo` object. The *mode*
+ parameter, if included, must be one of the following: ``'r'`` (the default),
+ ``'U'``, or ``'rU'``. Choosing ``'U'`` or ``'rU'`` will enable universal newline
+ support in the read-only object. *pwd* is the password used for encrypted files.
+ Calling :meth:`open` on a closed ZipFile will raise a :exc:`RuntimeError`.
.. note::
@@ -178,16 +178,22 @@ ZipFile Objects
create a new file object that will be held by the ZipExtFile, allowing it to
operate independently of the ZipFile.
+ .. note::
+
+ The :meth:`open`, :meth:`read` and :meth:`extract` methods can take a filename
+ or a :class:`ZipInfo` object. You will appreciate this when trying to read a
+ ZIP file that contains members with duplicate names.
+
.. versionadded:: 2.6
.. method:: ZipFile.extract(member[, path[, pwd]])
- Extract a member from the archive to the current working directory, using its
- full name. Its file information is extracted as accurately as possible.
- *path* specifies a different directory to extract to. *member* can be a
- filename or a :class:`ZipInfo` object. *pwd* is the password used for
- encrypted files.
+ Extract a member from the archive to the current working directory; *member*
+ must be its full name or a :class:`ZipInfo` object). Its file information is
+ extracted as accurately as possible. *path* specifies a different directory
+ to extract to. *member* can be a filename or a :class:`ZipInfo` object.
+ *pwd* is the password used for encrypted files.
.. versionadded:: 2.6
@@ -216,13 +222,14 @@ ZipFile Objects
.. method:: ZipFile.read(name[, pwd])
- Return the bytes of the file in the archive. The archive must be open for read
- or append. *pwd* is the password used for encrypted files and, if specified, it
- will override the default password set with :meth:`setpassword`. Calling
+ Return the bytes of the file *name* in the archive. *name* is the name of the
+ file in the archive, or a :class:`ZipInfo` object. The archive must be open for
+ read or append. *pwd* is the password used for encrypted files and, if specified,
+ it will override the default password set with :meth:`setpassword`. Calling
:meth:`read` on a closed ZipFile will raise a :exc:`RuntimeError`.
.. versionchanged:: 2.6
- *pwd* was added.
+ *pwd* was added, and *name* can now be a :class:`ZipInfo` object.
.. method:: ZipFile.testzip()