diff options
author | Georg Brandl <georg@python.org> | 2008-05-20 08:25:48 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-05-20 08:25:48 (GMT) |
commit | 112aa5032985925608844d7421e12703afd6ce41 (patch) | |
tree | b7e26da27c90471192c42afea278b8b9f59ef9f3 /Doc/library/zipfile.rst | |
parent | 4dd019fde36b53b30e69a2ce9cee3f2f9f25c2a6 (diff) | |
download | cpython-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/library/zipfile.rst')
-rw-r--r-- | Doc/library/zipfile.rst | 35 |
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() |