2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
:mod:`zipfile` --- Work with ZIP archives
|
|
|
|
=========================================
|
|
|
|
|
|
|
|
.. module:: zipfile
|
|
|
|
:synopsis: Read and write ZIP-format archive files.
|
|
|
|
.. moduleauthor:: James C. Ahlstrom <jim@interet.com>
|
|
|
|
.. sectionauthor:: James C. Ahlstrom <jim@interet.com>
|
|
|
|
|
|
|
|
.. versionadded:: 1.6
|
|
|
|
|
|
|
|
The ZIP file format is a common archive and compression standard. This module
|
|
|
|
provides tools to create, read, write, append, and list a ZIP file. Any
|
|
|
|
advanced use of this module will require an understanding of the format, as
|
|
|
|
defined in `PKZIP Application Note
|
2008-03-14 21:20:19 -03:00
|
|
|
<http://www.pkware.com/documents/casestudies/APPNOTE.TXT>`_.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
Merged revisions 83593 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint
................
r83593 | georg.brandl | 2010-08-02 23:44:25 +0200 (Mo, 02 Aug 2010) | 57 lines
Merged revisions 83536,83546-83548,83550,83554-83555,83558,83563,83565,83571,83574-83575 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r83536 | georg.brandl | 2010-08-02 19:49:25 +0200 (Mo, 02 Aug 2010) | 1 line
#8578: mention danger of not incref'ing weak referenced object.
........
r83546 | georg.brandl | 2010-08-02 21:16:34 +0200 (Mo, 02 Aug 2010) | 1 line
#7973: Fix distutils options spelling.
........
r83547 | georg.brandl | 2010-08-02 21:19:26 +0200 (Mo, 02 Aug 2010) | 1 line
#7386: add example that shows that trailing path separators are stripped.
........
r83548 | georg.brandl | 2010-08-02 21:23:34 +0200 (Mo, 02 Aug 2010) | 1 line
#8172: how does one use a property?
........
r83550 | georg.brandl | 2010-08-02 21:32:43 +0200 (Mo, 02 Aug 2010) | 1 line
#9451: strengthen warning about __*__ special name usage.
........
r83554 | georg.brandl | 2010-08-02 21:43:05 +0200 (Mo, 02 Aug 2010) | 1 line
#7280: note about nasmw.exe.
........
r83555 | georg.brandl | 2010-08-02 21:44:48 +0200 (Mo, 02 Aug 2010) | 1 line
#8861: remove unused variable.
........
r83558 | georg.brandl | 2010-08-02 22:05:19 +0200 (Mo, 02 Aug 2010) | 1 line
#8648: document UTF-7 codec functions.
........
r83563 | georg.brandl | 2010-08-02 22:21:21 +0200 (Mo, 02 Aug 2010) | 1 line
#9037: add example how to raise custom exceptions from C code.
........
r83565 | georg.brandl | 2010-08-02 22:27:20 +0200 (Mo, 02 Aug 2010) | 1 line
#9111: document that do_help() looks at docstrings.
........
r83571 | georg.brandl | 2010-08-02 22:44:34 +0200 (Mo, 02 Aug 2010) | 1 line
Clarify that abs() is not a namespace.
........
r83574 | georg.brandl | 2010-08-02 22:47:56 +0200 (Mo, 02 Aug 2010) | 1 line
#6867: epoll.register() returns None.
........
r83575 | georg.brandl | 2010-08-02 22:52:10 +0200 (Mo, 02 Aug 2010) | 1 line
#9238: zipfile does handle archive comments.
........
................
2010-08-02 18:45:43 -03:00
|
|
|
This module does not currently handle multi-disk ZIP files.
|
|
|
|
It can handle ZIP files that use the ZIP64 extensions
|
2007-11-05 10:38:50 -04:00
|
|
|
(that is ZIP files that are more than 4 GByte in size). It supports
|
|
|
|
decryption of encrypted files in ZIP archives, but it currently cannot
|
2008-01-19 21:32:00 -04:00
|
|
|
create an encrypted file. Decryption is extremely slow as it is
|
Merged revisions 75952-75953,75955,76105,76143,76223,76259,76326,76376-76377 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r75952 | georg.brandl | 2009-10-29 21:38:32 +0100 (Do, 29 Okt 2009) | 1 line
Use the correct function name in docstring.
........
r75953 | georg.brandl | 2009-10-29 21:39:50 +0100 (Do, 29 Okt 2009) | 1 line
Remove mention of the old -X command line switch.
........
r75955 | georg.brandl | 2009-10-29 21:54:03 +0100 (Do, 29 Okt 2009) | 1 line
Use a single style for all the docstrings in the math module.
........
r76105 | georg.brandl | 2009-11-04 08:38:12 +0100 (Mi, 04 Nov 2009) | 1 line
#7259: show correct equivalent for operator.i* operations in docstring; fix minor issues in operator docs.
........
r76143 | georg.brandl | 2009-11-07 09:26:07 +0100 (Sa, 07 Nov 2009) | 1 line
#7271: fix typo.
........
r76223 | georg.brandl | 2009-11-12 09:29:46 +0100 (Do, 12 Nov 2009) | 1 line
Give the profile module a module directive.
........
r76259 | georg.brandl | 2009-11-14 12:50:51 +0100 (Sa, 14 Nov 2009) | 1 line
Fix terminology.
........
r76326 | georg.brandl | 2009-11-16 17:44:05 +0100 (Mo, 16 Nov 2009) | 1 line
#7302: fix link.
........
r76376 | georg.brandl | 2009-11-18 20:39:14 +0100 (Mi, 18 Nov 2009) | 1 line
upcase Python
........
r76377 | georg.brandl | 2009-11-18 21:05:15 +0100 (Mi, 18 Nov 2009) | 1 line
Fix markup.
........
2010-03-21 16:01:15 -03:00
|
|
|
implemented in native Python rather than C.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
2007-11-05 05:22:48 -04:00
|
|
|
For other archive formats, see the :mod:`bz2`, :mod:`gzip`, and
|
|
|
|
:mod:`tarfile` modules.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
2007-11-05 05:22:48 -04:00
|
|
|
The module defines the following items:
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. exception:: BadZipfile
|
|
|
|
|
|
|
|
The error raised for bad ZIP files (old name: ``zipfile.error``).
|
|
|
|
|
|
|
|
|
|
|
|
.. exception:: LargeZipFile
|
|
|
|
|
|
|
|
The error raised when a ZIP file would require ZIP64 functionality but that has
|
|
|
|
not been enabled.
|
|
|
|
|
|
|
|
|
|
|
|
.. class:: ZipFile
|
|
|
|
|
|
|
|
The class for reading and writing ZIP files. See section
|
|
|
|
:ref:`zipfile-objects` for constructor details.
|
|
|
|
|
|
|
|
|
|
|
|
.. class:: PyZipFile
|
|
|
|
|
|
|
|
Class for creating ZIP archives containing Python libraries.
|
|
|
|
|
|
|
|
|
|
|
|
.. class:: ZipInfo([filename[, date_time]])
|
|
|
|
|
|
|
|
Class used to represent information about a member of an archive. Instances
|
|
|
|
of this class are returned by the :meth:`getinfo` and :meth:`infolist`
|
|
|
|
methods of :class:`ZipFile` objects. Most users of the :mod:`zipfile` module
|
|
|
|
will not need to create these, but only use those created by this
|
|
|
|
module. *filename* should be the full name of the archive member, and
|
|
|
|
*date_time* should be a tuple containing six fields which describe the time
|
|
|
|
of the last modification to the file; the fields are described in section
|
|
|
|
:ref:`zipinfo-objects`.
|
|
|
|
|
|
|
|
|
|
|
|
.. function:: is_zipfile(filename)
|
|
|
|
|
|
|
|
Returns ``True`` if *filename* is a valid ZIP file based on its magic number,
|
Merged revisions 83593 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint
................
r83593 | georg.brandl | 2010-08-02 23:44:25 +0200 (Mo, 02 Aug 2010) | 57 lines
Merged revisions 83536,83546-83548,83550,83554-83555,83558,83563,83565,83571,83574-83575 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r83536 | georg.brandl | 2010-08-02 19:49:25 +0200 (Mo, 02 Aug 2010) | 1 line
#8578: mention danger of not incref'ing weak referenced object.
........
r83546 | georg.brandl | 2010-08-02 21:16:34 +0200 (Mo, 02 Aug 2010) | 1 line
#7973: Fix distutils options spelling.
........
r83547 | georg.brandl | 2010-08-02 21:19:26 +0200 (Mo, 02 Aug 2010) | 1 line
#7386: add example that shows that trailing path separators are stripped.
........
r83548 | georg.brandl | 2010-08-02 21:23:34 +0200 (Mo, 02 Aug 2010) | 1 line
#8172: how does one use a property?
........
r83550 | georg.brandl | 2010-08-02 21:32:43 +0200 (Mo, 02 Aug 2010) | 1 line
#9451: strengthen warning about __*__ special name usage.
........
r83554 | georg.brandl | 2010-08-02 21:43:05 +0200 (Mo, 02 Aug 2010) | 1 line
#7280: note about nasmw.exe.
........
r83555 | georg.brandl | 2010-08-02 21:44:48 +0200 (Mo, 02 Aug 2010) | 1 line
#8861: remove unused variable.
........
r83558 | georg.brandl | 2010-08-02 22:05:19 +0200 (Mo, 02 Aug 2010) | 1 line
#8648: document UTF-7 codec functions.
........
r83563 | georg.brandl | 2010-08-02 22:21:21 +0200 (Mo, 02 Aug 2010) | 1 line
#9037: add example how to raise custom exceptions from C code.
........
r83565 | georg.brandl | 2010-08-02 22:27:20 +0200 (Mo, 02 Aug 2010) | 1 line
#9111: document that do_help() looks at docstrings.
........
r83571 | georg.brandl | 2010-08-02 22:44:34 +0200 (Mo, 02 Aug 2010) | 1 line
Clarify that abs() is not a namespace.
........
r83574 | georg.brandl | 2010-08-02 22:47:56 +0200 (Mo, 02 Aug 2010) | 1 line
#6867: epoll.register() returns None.
........
r83575 | georg.brandl | 2010-08-02 22:52:10 +0200 (Mo, 02 Aug 2010) | 1 line
#9238: zipfile does handle archive comments.
........
................
2010-08-02 18:45:43 -03:00
|
|
|
otherwise returns ``False``.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. data:: ZIP_STORED
|
|
|
|
|
|
|
|
The numeric constant for an uncompressed archive member.
|
|
|
|
|
|
|
|
|
|
|
|
.. data:: ZIP_DEFLATED
|
|
|
|
|
|
|
|
The numeric constant for the usual ZIP compression method. This requires the
|
|
|
|
zlib module. No other compression methods are currently supported.
|
|
|
|
|
|
|
|
|
|
|
|
.. seealso::
|
|
|
|
|
2008-03-14 21:20:19 -03:00
|
|
|
`PKZIP Application Note <http://www.pkware.com/documents/casestudies/APPNOTE.TXT>`_
|
2007-08-15 11:28:01 -03:00
|
|
|
Documentation on the ZIP file format by Phil Katz, the creator of the format and
|
|
|
|
algorithms used.
|
|
|
|
|
|
|
|
`Info-ZIP Home Page <http://www.info-zip.org/>`_
|
|
|
|
Information about the Info-ZIP project's ZIP archive programs and development
|
|
|
|
libraries.
|
|
|
|
|
|
|
|
|
|
|
|
.. _zipfile-objects:
|
|
|
|
|
|
|
|
ZipFile Objects
|
|
|
|
---------------
|
|
|
|
|
|
|
|
|
|
|
|
.. class:: ZipFile(file[, mode[, compression[, allowZip64]]])
|
|
|
|
|
|
|
|
Open a ZIP file, where *file* can be either a path to a file (a string) or a
|
|
|
|
file-like object. The *mode* parameter should be ``'r'`` to read an existing
|
|
|
|
file, ``'w'`` to truncate and write a new file, or ``'a'`` to append to an
|
|
|
|
existing file. If *mode* is ``'a'`` and *file* refers to an existing ZIP file,
|
|
|
|
then additional files are added to it. If *file* does not refer to a ZIP file,
|
|
|
|
then a new ZIP archive is appended to the file. This is meant for adding a ZIP
|
|
|
|
archive to another file, such as :file:`python.exe`. Using ::
|
|
|
|
|
|
|
|
cat myzip.zip >> python.exe
|
|
|
|
|
|
|
|
also works, and at least :program:`WinZip` can read such files. If *mode* is
|
|
|
|
``a`` and the file does not exist at all, it is created. *compression* is the
|
|
|
|
ZIP compression method to use when writing the archive, and should be
|
|
|
|
:const:`ZIP_STORED` or :const:`ZIP_DEFLATED`; unrecognized values will cause
|
|
|
|
:exc:`RuntimeError` to be raised. If :const:`ZIP_DEFLATED` is specified but the
|
|
|
|
:mod:`zlib` module is not available, :exc:`RuntimeError` is also raised. The
|
|
|
|
default is :const:`ZIP_STORED`. If *allowZip64* is ``True`` zipfile will create
|
|
|
|
ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB. If
|
|
|
|
it is false (the default) :mod:`zipfile` will raise an exception when the ZIP
|
|
|
|
file would require ZIP64 extensions. ZIP64 extensions are disabled by default
|
|
|
|
because the default :program:`zip` and :program:`unzip` commands on Unix (the
|
|
|
|
InfoZIP utilities) don't support these extensions.
|
|
|
|
|
|
|
|
.. versionchanged:: 2.6
|
|
|
|
If the file does not exist, it is created if the mode is 'a'.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.close()
|
|
|
|
|
|
|
|
Close the archive file. You must call :meth:`close` before exiting your program
|
|
|
|
or essential records will not be written.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.getinfo(name)
|
|
|
|
|
|
|
|
Return a :class:`ZipInfo` object with information about the archive member
|
|
|
|
*name*. Calling :meth:`getinfo` for a name not currently contained in the
|
|
|
|
archive will raise a :exc:`KeyError`.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.infolist()
|
|
|
|
|
|
|
|
Return a list containing a :class:`ZipInfo` object for each member of the
|
|
|
|
archive. The objects are in the same order as their entries in the actual ZIP
|
|
|
|
file on disk if an existing archive was opened.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.namelist()
|
|
|
|
|
|
|
|
Return a list of archive members by name.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.open(name[, mode[, pwd]])
|
|
|
|
|
|
|
|
Extract a member from the archive as a file-like object (ZipExtFile). *name* is
|
2008-05-20 05:25:48 -03:00
|
|
|
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`.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
The file-like object is read-only and provides the following methods:
|
|
|
|
:meth:`read`, :meth:`readline`, :meth:`readlines`, :meth:`__iter__`,
|
|
|
|
:meth:`next`.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
If the ZipFile was created by passing in a file-like object as the first
|
2007-08-15 15:41:25 -03:00
|
|
|
argument to the constructor, then the object returned by :meth:`.open` shares the
|
2007-08-15 11:28:01 -03:00
|
|
|
ZipFile's file pointer. Under these circumstances, the object returned by
|
2007-08-15 15:41:25 -03:00
|
|
|
:meth:`.open` should not be used after any additional operations are performed
|
2007-08-15 11:28:01 -03:00
|
|
|
on the ZipFile object. If the ZipFile was created by passing in a string (the
|
2007-08-15 15:41:25 -03:00
|
|
|
filename) as the first argument to the constructor, then :meth:`.open` will
|
2007-08-15 11:28:01 -03:00
|
|
|
create a new file object that will be held by the ZipExtFile, allowing it to
|
|
|
|
operate independently of the ZipFile.
|
|
|
|
|
2008-05-20 05:25:48 -03:00
|
|
|
.. 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.
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
.. versionadded:: 2.6
|
|
|
|
|
|
|
|
|
2008-01-07 14:47:44 -04:00
|
|
|
.. method:: ZipFile.extract(member[, path[, pwd]])
|
|
|
|
|
2008-05-20 05:25:48 -03:00
|
|
|
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.
|
2008-01-07 14:47:44 -04:00
|
|
|
|
|
|
|
.. versionadded:: 2.6
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.extractall([path[, members[, pwd]]])
|
|
|
|
|
Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68133 | antoine.pitrou | 2009-01-01 16:38:03 +0100 (Thu, 01 Jan 2009) | 1 line
fill in actual issue number in tests
........
r68134 | hirokazu.yamamoto | 2009-01-01 16:45:39 +0100 (Thu, 01 Jan 2009) | 2 lines
Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
file with `str' filename on Windows.
........
r68141 | benjamin.peterson | 2009-01-01 17:43:12 +0100 (Thu, 01 Jan 2009) | 1 line
fix highlighting
........
r68142 | benjamin.peterson | 2009-01-01 18:29:49 +0100 (Thu, 01 Jan 2009) | 2 lines
welcome to 2009, Python!
........
r68145 | amaury.forgeotdarc | 2009-01-02 01:03:54 +0100 (Fri, 02 Jan 2009) | 5 lines
#4801 _collections module fails to build on cygwin.
_PyObject_GC_TRACK is the macro version of PyObject_GC_Track,
and according to documentation it should not be used for extension modules.
........
r68146 | ronald.oussoren | 2009-01-02 11:44:46 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4472: "configure --enable-shared doesn't work on OSX"
........
r68148 | ronald.oussoren | 2009-01-02 11:48:31 +0100 (Fri, 02 Jan 2009) | 2 lines
Forgot to add a NEWS item in my previous checkin
........
r68149 | ronald.oussoren | 2009-01-02 11:50:48 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4780
........
r68159 | ronald.oussoren | 2009-01-02 15:48:17 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue 1627952
........
r68160 | ronald.oussoren | 2009-01-02 15:52:09 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue r1737832
........
r68161 | ronald.oussoren | 2009-01-02 16:00:05 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 1149804
........
r68162 | ronald.oussoren | 2009-01-02 16:06:00 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 4472 is incompatible with Cygwin, this patch
should fix that.
........
r68166 | benjamin.peterson | 2009-01-02 19:26:23 +0100 (Fri, 02 Jan 2009) | 1 line
document PyMemberDef
........
r68171 | georg.brandl | 2009-01-02 21:25:14 +0100 (Fri, 02 Jan 2009) | 3 lines
#4811: fix markup glitches (mostly remains of the conversion),
found by Gabriel Genellina.
........
r68172 | martin.v.loewis | 2009-01-02 21:32:55 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4075: Use OutputDebugStringW in Py_FatalError.
........
r68173 | martin.v.loewis | 2009-01-02 21:40:14 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4051: Prevent conflict of UNICODE macros in cPickle.
........
r68174 | benjamin.peterson | 2009-01-02 21:47:27 +0100 (Fri, 02 Jan 2009) | 1 line
fix compilation on non-Windows platforms
........
r68179 | raymond.hettinger | 2009-01-02 22:26:45 +0100 (Fri, 02 Jan 2009) | 1 line
Issue #4615. Document how to use itertools for de-duping.
........
r68195 | georg.brandl | 2009-01-03 14:45:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove useless string literal.
........
r68196 | georg.brandl | 2009-01-03 15:29:53 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix indentation.
........
r68210 | georg.brandl | 2009-01-03 20:10:12 +0100 (Sat, 03 Jan 2009) | 2 lines
Set eol-style correctly for mp_distributing.py.
........
r68214 | georg.brandl | 2009-01-03 20:44:48 +0100 (Sat, 03 Jan 2009) | 2 lines
Make indentation consistent.
........
r68215 | georg.brandl | 2009-01-03 21:15:14 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix role name.
........
r68217 | georg.brandl | 2009-01-03 21:30:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Add rstlint, a little tool to find subtle markup problems and inconsistencies in the Doc sources.
........
r68218 | georg.brandl | 2009-01-03 21:38:59 +0100 (Sat, 03 Jan 2009) | 2 lines
Recognize usage of the default role.
........
r68219 | georg.brandl | 2009-01-03 21:47:01 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix uses of the default role.
........
r68220 | georg.brandl | 2009-01-03 21:55:06 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove trailing whitespace.
........
r68221 | georg.brandl | 2009-01-03 22:04:55 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove tabs from the documentation.
........
r68222 | georg.brandl | 2009-01-03 22:11:58 +0100 (Sat, 03 Jan 2009) | 2 lines
Disable the line length checker by default.
........
2009-01-03 17:55:17 -04:00
|
|
|
Extract all members from the archive to the current working directory. *path*
|
2008-01-07 14:47:44 -04:00
|
|
|
specifies a different directory to extract to. *members* is optional and must
|
|
|
|
be a subset of the list returned by :meth:`namelist`. *pwd* is the password
|
|
|
|
used for encrypted files.
|
|
|
|
|
2009-09-29 18:58:48 -03:00
|
|
|
.. warning::
|
|
|
|
|
|
|
|
Never extract archives from untrusted sources without prior inspection.
|
|
|
|
It is possible that files are created outside of *path*, e.g. members
|
|
|
|
that have absolute filenames starting with ``"/"`` or filenames with two
|
|
|
|
dots ``".."``.
|
|
|
|
|
2008-01-07 14:47:44 -04:00
|
|
|
.. versionadded:: 2.6
|
|
|
|
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
.. method:: ZipFile.printdir()
|
|
|
|
|
|
|
|
Print a table of contents for the archive to ``sys.stdout``.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.setpassword(pwd)
|
|
|
|
|
|
|
|
Set *pwd* as default password to extract encrypted files.
|
|
|
|
|
|
|
|
.. versionadded:: 2.6
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.read(name[, pwd])
|
|
|
|
|
2008-05-20 05:25:48 -03:00
|
|
|
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
|
2007-08-15 11:28:01 -03:00
|
|
|
:meth:`read` on a closed ZipFile will raise a :exc:`RuntimeError`.
|
|
|
|
|
|
|
|
.. versionchanged:: 2.6
|
2008-05-20 05:25:48 -03:00
|
|
|
*pwd* was added, and *name* can now be a :class:`ZipInfo` object.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.testzip()
|
|
|
|
|
|
|
|
Read all the files in the archive and check their CRC's and file headers.
|
|
|
|
Return the name of the first bad file, or else return ``None``. Calling
|
|
|
|
:meth:`testzip` on a closed ZipFile will raise a :exc:`RuntimeError`.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.write(filename[, arcname[, compress_type]])
|
|
|
|
|
|
|
|
Write the file named *filename* to the archive, giving it the archive name
|
|
|
|
*arcname* (by default, this will be the same as *filename*, but without a drive
|
|
|
|
letter and with leading path separators removed). If given, *compress_type*
|
|
|
|
overrides the value given for the *compression* parameter to the constructor for
|
|
|
|
the new entry. The archive must be open with mode ``'w'`` or ``'a'`` -- calling
|
|
|
|
:meth:`write` on a ZipFile created with mode ``'r'`` will raise a
|
|
|
|
:exc:`RuntimeError`. Calling :meth:`write` on a closed ZipFile will raise a
|
|
|
|
:exc:`RuntimeError`.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
There is no official file name encoding for ZIP files. If you have unicode file
|
2007-08-30 07:09:42 -03:00
|
|
|
names, you must convert them to byte strings in your desired encoding before
|
2007-08-15 11:28:01 -03:00
|
|
|
passing them to :meth:`write`. WinZip interprets all file names as encoded in
|
|
|
|
CP437, also known as DOS Latin.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
Archive names should be relative to the archive root, that is, they should not
|
|
|
|
start with a path separator.
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
If ``arcname`` (or ``filename``, if ``arcname`` is not given) contains a null
|
|
|
|
byte, the name of the file in the archive will be truncated at the null byte.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: ZipFile.writestr(zinfo_or_arcname, bytes)
|
|
|
|
|
|
|
|
Write the string *bytes* to the archive; *zinfo_or_arcname* is either the file
|
|
|
|
name it will be given in the archive, or a :class:`ZipInfo` instance. If it's
|
|
|
|
an instance, at least the filename, date, and time must be given. If it's a
|
|
|
|
name, the date and time is set to the current date and time. The archive must be
|
|
|
|
opened with mode ``'w'`` or ``'a'`` -- calling :meth:`writestr` on a ZipFile
|
|
|
|
created with mode ``'r'`` will raise a :exc:`RuntimeError`. Calling
|
|
|
|
:meth:`writestr` on a closed ZipFile will raise a :exc:`RuntimeError`.
|
|
|
|
|
2008-01-07 14:47:44 -04:00
|
|
|
.. note::
|
|
|
|
|
Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68133 | antoine.pitrou | 2009-01-01 16:38:03 +0100 (Thu, 01 Jan 2009) | 1 line
fill in actual issue number in tests
........
r68134 | hirokazu.yamamoto | 2009-01-01 16:45:39 +0100 (Thu, 01 Jan 2009) | 2 lines
Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
file with `str' filename on Windows.
........
r68141 | benjamin.peterson | 2009-01-01 17:43:12 +0100 (Thu, 01 Jan 2009) | 1 line
fix highlighting
........
r68142 | benjamin.peterson | 2009-01-01 18:29:49 +0100 (Thu, 01 Jan 2009) | 2 lines
welcome to 2009, Python!
........
r68145 | amaury.forgeotdarc | 2009-01-02 01:03:54 +0100 (Fri, 02 Jan 2009) | 5 lines
#4801 _collections module fails to build on cygwin.
_PyObject_GC_TRACK is the macro version of PyObject_GC_Track,
and according to documentation it should not be used for extension modules.
........
r68146 | ronald.oussoren | 2009-01-02 11:44:46 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4472: "configure --enable-shared doesn't work on OSX"
........
r68148 | ronald.oussoren | 2009-01-02 11:48:31 +0100 (Fri, 02 Jan 2009) | 2 lines
Forgot to add a NEWS item in my previous checkin
........
r68149 | ronald.oussoren | 2009-01-02 11:50:48 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4780
........
r68159 | ronald.oussoren | 2009-01-02 15:48:17 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue 1627952
........
r68160 | ronald.oussoren | 2009-01-02 15:52:09 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue r1737832
........
r68161 | ronald.oussoren | 2009-01-02 16:00:05 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 1149804
........
r68162 | ronald.oussoren | 2009-01-02 16:06:00 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 4472 is incompatible with Cygwin, this patch
should fix that.
........
r68166 | benjamin.peterson | 2009-01-02 19:26:23 +0100 (Fri, 02 Jan 2009) | 1 line
document PyMemberDef
........
r68171 | georg.brandl | 2009-01-02 21:25:14 +0100 (Fri, 02 Jan 2009) | 3 lines
#4811: fix markup glitches (mostly remains of the conversion),
found by Gabriel Genellina.
........
r68172 | martin.v.loewis | 2009-01-02 21:32:55 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4075: Use OutputDebugStringW in Py_FatalError.
........
r68173 | martin.v.loewis | 2009-01-02 21:40:14 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4051: Prevent conflict of UNICODE macros in cPickle.
........
r68174 | benjamin.peterson | 2009-01-02 21:47:27 +0100 (Fri, 02 Jan 2009) | 1 line
fix compilation on non-Windows platforms
........
r68179 | raymond.hettinger | 2009-01-02 22:26:45 +0100 (Fri, 02 Jan 2009) | 1 line
Issue #4615. Document how to use itertools for de-duping.
........
r68195 | georg.brandl | 2009-01-03 14:45:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove useless string literal.
........
r68196 | georg.brandl | 2009-01-03 15:29:53 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix indentation.
........
r68210 | georg.brandl | 2009-01-03 20:10:12 +0100 (Sat, 03 Jan 2009) | 2 lines
Set eol-style correctly for mp_distributing.py.
........
r68214 | georg.brandl | 2009-01-03 20:44:48 +0100 (Sat, 03 Jan 2009) | 2 lines
Make indentation consistent.
........
r68215 | georg.brandl | 2009-01-03 21:15:14 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix role name.
........
r68217 | georg.brandl | 2009-01-03 21:30:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Add rstlint, a little tool to find subtle markup problems and inconsistencies in the Doc sources.
........
r68218 | georg.brandl | 2009-01-03 21:38:59 +0100 (Sat, 03 Jan 2009) | 2 lines
Recognize usage of the default role.
........
r68219 | georg.brandl | 2009-01-03 21:47:01 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix uses of the default role.
........
r68220 | georg.brandl | 2009-01-03 21:55:06 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove trailing whitespace.
........
r68221 | georg.brandl | 2009-01-03 22:04:55 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove tabs from the documentation.
........
r68222 | georg.brandl | 2009-01-03 22:11:58 +0100 (Sat, 03 Jan 2009) | 2 lines
Disable the line length checker by default.
........
2009-01-03 17:55:17 -04:00
|
|
|
When passing a :class:`ZipInfo` instance as the *zinfo_or_acrname* parameter,
|
|
|
|
the compression method used will be that specified in the *compress_type*
|
|
|
|
member of the given :class:`ZipInfo` instance. By default, the
|
2008-01-07 14:47:44 -04:00
|
|
|
:class:`ZipInfo` constructor sets this member to :const:`ZIP_STORED`.
|
|
|
|
|
2008-07-03 09:51:14 -03:00
|
|
|
The following data attributes are also available:
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipFile.debug
|
|
|
|
|
|
|
|
The level of debug output to use. This may be set from ``0`` (the default, no
|
|
|
|
output) to ``3`` (the most output). Debugging information is written to
|
|
|
|
``sys.stdout``.
|
|
|
|
|
2008-07-03 09:51:14 -03:00
|
|
|
.. attribute:: ZipFile.comment
|
|
|
|
|
Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68133 | antoine.pitrou | 2009-01-01 16:38:03 +0100 (Thu, 01 Jan 2009) | 1 line
fill in actual issue number in tests
........
r68134 | hirokazu.yamamoto | 2009-01-01 16:45:39 +0100 (Thu, 01 Jan 2009) | 2 lines
Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
file with `str' filename on Windows.
........
r68141 | benjamin.peterson | 2009-01-01 17:43:12 +0100 (Thu, 01 Jan 2009) | 1 line
fix highlighting
........
r68142 | benjamin.peterson | 2009-01-01 18:29:49 +0100 (Thu, 01 Jan 2009) | 2 lines
welcome to 2009, Python!
........
r68145 | amaury.forgeotdarc | 2009-01-02 01:03:54 +0100 (Fri, 02 Jan 2009) | 5 lines
#4801 _collections module fails to build on cygwin.
_PyObject_GC_TRACK is the macro version of PyObject_GC_Track,
and according to documentation it should not be used for extension modules.
........
r68146 | ronald.oussoren | 2009-01-02 11:44:46 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4472: "configure --enable-shared doesn't work on OSX"
........
r68148 | ronald.oussoren | 2009-01-02 11:48:31 +0100 (Fri, 02 Jan 2009) | 2 lines
Forgot to add a NEWS item in my previous checkin
........
r68149 | ronald.oussoren | 2009-01-02 11:50:48 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4780
........
r68159 | ronald.oussoren | 2009-01-02 15:48:17 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue 1627952
........
r68160 | ronald.oussoren | 2009-01-02 15:52:09 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue r1737832
........
r68161 | ronald.oussoren | 2009-01-02 16:00:05 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 1149804
........
r68162 | ronald.oussoren | 2009-01-02 16:06:00 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 4472 is incompatible with Cygwin, this patch
should fix that.
........
r68166 | benjamin.peterson | 2009-01-02 19:26:23 +0100 (Fri, 02 Jan 2009) | 1 line
document PyMemberDef
........
r68171 | georg.brandl | 2009-01-02 21:25:14 +0100 (Fri, 02 Jan 2009) | 3 lines
#4811: fix markup glitches (mostly remains of the conversion),
found by Gabriel Genellina.
........
r68172 | martin.v.loewis | 2009-01-02 21:32:55 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4075: Use OutputDebugStringW in Py_FatalError.
........
r68173 | martin.v.loewis | 2009-01-02 21:40:14 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4051: Prevent conflict of UNICODE macros in cPickle.
........
r68174 | benjamin.peterson | 2009-01-02 21:47:27 +0100 (Fri, 02 Jan 2009) | 1 line
fix compilation on non-Windows platforms
........
r68179 | raymond.hettinger | 2009-01-02 22:26:45 +0100 (Fri, 02 Jan 2009) | 1 line
Issue #4615. Document how to use itertools for de-duping.
........
r68195 | georg.brandl | 2009-01-03 14:45:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove useless string literal.
........
r68196 | georg.brandl | 2009-01-03 15:29:53 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix indentation.
........
r68210 | georg.brandl | 2009-01-03 20:10:12 +0100 (Sat, 03 Jan 2009) | 2 lines
Set eol-style correctly for mp_distributing.py.
........
r68214 | georg.brandl | 2009-01-03 20:44:48 +0100 (Sat, 03 Jan 2009) | 2 lines
Make indentation consistent.
........
r68215 | georg.brandl | 2009-01-03 21:15:14 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix role name.
........
r68217 | georg.brandl | 2009-01-03 21:30:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Add rstlint, a little tool to find subtle markup problems and inconsistencies in the Doc sources.
........
r68218 | georg.brandl | 2009-01-03 21:38:59 +0100 (Sat, 03 Jan 2009) | 2 lines
Recognize usage of the default role.
........
r68219 | georg.brandl | 2009-01-03 21:47:01 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix uses of the default role.
........
r68220 | georg.brandl | 2009-01-03 21:55:06 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove trailing whitespace.
........
r68221 | georg.brandl | 2009-01-03 22:04:55 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove tabs from the documentation.
........
r68222 | georg.brandl | 2009-01-03 22:11:58 +0100 (Sat, 03 Jan 2009) | 2 lines
Disable the line length checker by default.
........
2009-01-03 17:55:17 -04:00
|
|
|
The comment text associated with the ZIP file. If assigning a comment to a
|
|
|
|
:class:`ZipFile` instance created with mode 'a' or 'w', this should be a
|
|
|
|
string no longer than 65535 bytes. Comments longer than this will be
|
2008-07-03 09:51:14 -03:00
|
|
|
truncated in the written archive when :meth:`ZipFile.close` is called.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
.. _pyzipfile-objects:
|
|
|
|
|
|
|
|
PyZipFile Objects
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
The :class:`PyZipFile` constructor takes the same parameters as the
|
|
|
|
:class:`ZipFile` constructor. Instances have one method in addition to those of
|
|
|
|
:class:`ZipFile` objects.
|
|
|
|
|
|
|
|
|
|
|
|
.. method:: PyZipFile.writepy(pathname[, basename])
|
|
|
|
|
|
|
|
Search for files :file:`\*.py` and add the corresponding file to the archive.
|
|
|
|
The corresponding file is a :file:`\*.pyo` file if available, else a
|
|
|
|
:file:`\*.pyc` file, compiling if necessary. If the pathname is a file, the
|
|
|
|
filename must end with :file:`.py`, and just the (corresponding
|
|
|
|
:file:`\*.py[co]`) file is added at the top level (no path information). If the
|
|
|
|
pathname is a file that does not end with :file:`.py`, a :exc:`RuntimeError`
|
|
|
|
will be raised. If it is a directory, and the directory is not a package
|
|
|
|
directory, then all the files :file:`\*.py[co]` are added at the top level. If
|
|
|
|
the directory is a package directory, then all :file:`\*.py[co]` are added under
|
|
|
|
the package name as a file path, and if any subdirectories are package
|
|
|
|
directories, all of these are added recursively. *basename* is intended for
|
|
|
|
internal use only. The :meth:`writepy` method makes archives with file names
|
|
|
|
like this::
|
|
|
|
|
Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68133 | antoine.pitrou | 2009-01-01 16:38:03 +0100 (Thu, 01 Jan 2009) | 1 line
fill in actual issue number in tests
........
r68134 | hirokazu.yamamoto | 2009-01-01 16:45:39 +0100 (Thu, 01 Jan 2009) | 2 lines
Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
file with `str' filename on Windows.
........
r68141 | benjamin.peterson | 2009-01-01 17:43:12 +0100 (Thu, 01 Jan 2009) | 1 line
fix highlighting
........
r68142 | benjamin.peterson | 2009-01-01 18:29:49 +0100 (Thu, 01 Jan 2009) | 2 lines
welcome to 2009, Python!
........
r68145 | amaury.forgeotdarc | 2009-01-02 01:03:54 +0100 (Fri, 02 Jan 2009) | 5 lines
#4801 _collections module fails to build on cygwin.
_PyObject_GC_TRACK is the macro version of PyObject_GC_Track,
and according to documentation it should not be used for extension modules.
........
r68146 | ronald.oussoren | 2009-01-02 11:44:46 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4472: "configure --enable-shared doesn't work on OSX"
........
r68148 | ronald.oussoren | 2009-01-02 11:48:31 +0100 (Fri, 02 Jan 2009) | 2 lines
Forgot to add a NEWS item in my previous checkin
........
r68149 | ronald.oussoren | 2009-01-02 11:50:48 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4780
........
r68159 | ronald.oussoren | 2009-01-02 15:48:17 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue 1627952
........
r68160 | ronald.oussoren | 2009-01-02 15:52:09 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue r1737832
........
r68161 | ronald.oussoren | 2009-01-02 16:00:05 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 1149804
........
r68162 | ronald.oussoren | 2009-01-02 16:06:00 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 4472 is incompatible with Cygwin, this patch
should fix that.
........
r68166 | benjamin.peterson | 2009-01-02 19:26:23 +0100 (Fri, 02 Jan 2009) | 1 line
document PyMemberDef
........
r68171 | georg.brandl | 2009-01-02 21:25:14 +0100 (Fri, 02 Jan 2009) | 3 lines
#4811: fix markup glitches (mostly remains of the conversion),
found by Gabriel Genellina.
........
r68172 | martin.v.loewis | 2009-01-02 21:32:55 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4075: Use OutputDebugStringW in Py_FatalError.
........
r68173 | martin.v.loewis | 2009-01-02 21:40:14 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4051: Prevent conflict of UNICODE macros in cPickle.
........
r68174 | benjamin.peterson | 2009-01-02 21:47:27 +0100 (Fri, 02 Jan 2009) | 1 line
fix compilation on non-Windows platforms
........
r68179 | raymond.hettinger | 2009-01-02 22:26:45 +0100 (Fri, 02 Jan 2009) | 1 line
Issue #4615. Document how to use itertools for de-duping.
........
r68195 | georg.brandl | 2009-01-03 14:45:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove useless string literal.
........
r68196 | georg.brandl | 2009-01-03 15:29:53 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix indentation.
........
r68210 | georg.brandl | 2009-01-03 20:10:12 +0100 (Sat, 03 Jan 2009) | 2 lines
Set eol-style correctly for mp_distributing.py.
........
r68214 | georg.brandl | 2009-01-03 20:44:48 +0100 (Sat, 03 Jan 2009) | 2 lines
Make indentation consistent.
........
r68215 | georg.brandl | 2009-01-03 21:15:14 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix role name.
........
r68217 | georg.brandl | 2009-01-03 21:30:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Add rstlint, a little tool to find subtle markup problems and inconsistencies in the Doc sources.
........
r68218 | georg.brandl | 2009-01-03 21:38:59 +0100 (Sat, 03 Jan 2009) | 2 lines
Recognize usage of the default role.
........
r68219 | georg.brandl | 2009-01-03 21:47:01 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix uses of the default role.
........
r68220 | georg.brandl | 2009-01-03 21:55:06 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove trailing whitespace.
........
r68221 | georg.brandl | 2009-01-03 22:04:55 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove tabs from the documentation.
........
r68222 | georg.brandl | 2009-01-03 22:11:58 +0100 (Sat, 03 Jan 2009) | 2 lines
Disable the line length checker by default.
........
2009-01-03 17:55:17 -04:00
|
|
|
string.pyc # Top level name
|
|
|
|
test/__init__.pyc # Package directory
|
2008-05-09 02:25:37 -03:00
|
|
|
test/test_support.pyc # Module test.test_support
|
Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68133 | antoine.pitrou | 2009-01-01 16:38:03 +0100 (Thu, 01 Jan 2009) | 1 line
fill in actual issue number in tests
........
r68134 | hirokazu.yamamoto | 2009-01-01 16:45:39 +0100 (Thu, 01 Jan 2009) | 2 lines
Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
file with `str' filename on Windows.
........
r68141 | benjamin.peterson | 2009-01-01 17:43:12 +0100 (Thu, 01 Jan 2009) | 1 line
fix highlighting
........
r68142 | benjamin.peterson | 2009-01-01 18:29:49 +0100 (Thu, 01 Jan 2009) | 2 lines
welcome to 2009, Python!
........
r68145 | amaury.forgeotdarc | 2009-01-02 01:03:54 +0100 (Fri, 02 Jan 2009) | 5 lines
#4801 _collections module fails to build on cygwin.
_PyObject_GC_TRACK is the macro version of PyObject_GC_Track,
and according to documentation it should not be used for extension modules.
........
r68146 | ronald.oussoren | 2009-01-02 11:44:46 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4472: "configure --enable-shared doesn't work on OSX"
........
r68148 | ronald.oussoren | 2009-01-02 11:48:31 +0100 (Fri, 02 Jan 2009) | 2 lines
Forgot to add a NEWS item in my previous checkin
........
r68149 | ronald.oussoren | 2009-01-02 11:50:48 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4780
........
r68159 | ronald.oussoren | 2009-01-02 15:48:17 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue 1627952
........
r68160 | ronald.oussoren | 2009-01-02 15:52:09 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue r1737832
........
r68161 | ronald.oussoren | 2009-01-02 16:00:05 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 1149804
........
r68162 | ronald.oussoren | 2009-01-02 16:06:00 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 4472 is incompatible with Cygwin, this patch
should fix that.
........
r68166 | benjamin.peterson | 2009-01-02 19:26:23 +0100 (Fri, 02 Jan 2009) | 1 line
document PyMemberDef
........
r68171 | georg.brandl | 2009-01-02 21:25:14 +0100 (Fri, 02 Jan 2009) | 3 lines
#4811: fix markup glitches (mostly remains of the conversion),
found by Gabriel Genellina.
........
r68172 | martin.v.loewis | 2009-01-02 21:32:55 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4075: Use OutputDebugStringW in Py_FatalError.
........
r68173 | martin.v.loewis | 2009-01-02 21:40:14 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4051: Prevent conflict of UNICODE macros in cPickle.
........
r68174 | benjamin.peterson | 2009-01-02 21:47:27 +0100 (Fri, 02 Jan 2009) | 1 line
fix compilation on non-Windows platforms
........
r68179 | raymond.hettinger | 2009-01-02 22:26:45 +0100 (Fri, 02 Jan 2009) | 1 line
Issue #4615. Document how to use itertools for de-duping.
........
r68195 | georg.brandl | 2009-01-03 14:45:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove useless string literal.
........
r68196 | georg.brandl | 2009-01-03 15:29:53 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix indentation.
........
r68210 | georg.brandl | 2009-01-03 20:10:12 +0100 (Sat, 03 Jan 2009) | 2 lines
Set eol-style correctly for mp_distributing.py.
........
r68214 | georg.brandl | 2009-01-03 20:44:48 +0100 (Sat, 03 Jan 2009) | 2 lines
Make indentation consistent.
........
r68215 | georg.brandl | 2009-01-03 21:15:14 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix role name.
........
r68217 | georg.brandl | 2009-01-03 21:30:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Add rstlint, a little tool to find subtle markup problems and inconsistencies in the Doc sources.
........
r68218 | georg.brandl | 2009-01-03 21:38:59 +0100 (Sat, 03 Jan 2009) | 2 lines
Recognize usage of the default role.
........
r68219 | georg.brandl | 2009-01-03 21:47:01 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix uses of the default role.
........
r68220 | georg.brandl | 2009-01-03 21:55:06 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove trailing whitespace.
........
r68221 | georg.brandl | 2009-01-03 22:04:55 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove tabs from the documentation.
........
r68222 | georg.brandl | 2009-01-03 22:11:58 +0100 (Sat, 03 Jan 2009) | 2 lines
Disable the line length checker by default.
........
2009-01-03 17:55:17 -04:00
|
|
|
test/bogus/__init__.pyc # Subpackage directory
|
2007-08-15 11:28:01 -03:00
|
|
|
test/bogus/myfile.pyc # Submodule test.bogus.myfile
|
|
|
|
|
|
|
|
|
|
|
|
.. _zipinfo-objects:
|
|
|
|
|
|
|
|
ZipInfo Objects
|
|
|
|
---------------
|
|
|
|
|
|
|
|
Instances of the :class:`ZipInfo` class are returned by the :meth:`getinfo` and
|
|
|
|
:meth:`infolist` methods of :class:`ZipFile` objects. Each object stores
|
|
|
|
information about a single member of the ZIP archive.
|
|
|
|
|
|
|
|
Instances have the following attributes:
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.filename
|
|
|
|
|
|
|
|
Name of the file in the archive.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.date_time
|
|
|
|
|
|
|
|
The time and date of the last modification to the archive member. This is a
|
|
|
|
tuple of six values:
|
|
|
|
|
|
|
|
+-------+--------------------------+
|
|
|
|
| Index | Value |
|
|
|
|
+=======+==========================+
|
|
|
|
| ``0`` | Year |
|
|
|
|
+-------+--------------------------+
|
|
|
|
| ``1`` | Month (one-based) |
|
|
|
|
+-------+--------------------------+
|
|
|
|
| ``2`` | Day of month (one-based) |
|
|
|
|
+-------+--------------------------+
|
|
|
|
| ``3`` | Hours (zero-based) |
|
|
|
|
+-------+--------------------------+
|
|
|
|
| ``4`` | Minutes (zero-based) |
|
|
|
|
+-------+--------------------------+
|
|
|
|
| ``5`` | Seconds (zero-based) |
|
|
|
|
+-------+--------------------------+
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.compress_type
|
|
|
|
|
|
|
|
Type of compression for the archive member.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.comment
|
|
|
|
|
|
|
|
Comment for the individual archive member.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.extra
|
|
|
|
|
|
|
|
Expansion field data. The `PKZIP Application Note
|
2008-03-14 21:20:19 -03:00
|
|
|
<http://www.pkware.com/documents/casestudies/APPNOTE.TXT>`_ contains
|
2007-08-15 11:28:01 -03:00
|
|
|
some comments on the internal structure of the data contained in this string.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.create_system
|
|
|
|
|
|
|
|
System which created ZIP archive.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.create_version
|
|
|
|
|
|
|
|
PKZIP version which created ZIP archive.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.extract_version
|
|
|
|
|
|
|
|
PKZIP version needed to extract archive.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.reserved
|
|
|
|
|
|
|
|
Must be zero.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.flag_bits
|
|
|
|
|
|
|
|
ZIP flag bits.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.volume
|
|
|
|
|
|
|
|
Volume number of file header.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.internal_attr
|
|
|
|
|
|
|
|
Internal attributes.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.external_attr
|
|
|
|
|
|
|
|
External file attributes.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.header_offset
|
|
|
|
|
|
|
|
Byte offset to the file header.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.CRC
|
|
|
|
|
|
|
|
CRC-32 of the uncompressed file.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.compress_size
|
|
|
|
|
|
|
|
Size of the compressed data.
|
|
|
|
|
|
|
|
|
|
|
|
.. attribute:: ZipInfo.file_size
|
|
|
|
|
|
|
|
Size of the uncompressed file.
|
|
|
|
|