summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libzipfile.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/lib/libzipfile.tex')
-rw-r--r--Doc/lib/libzipfile.tex371
1 files changed, 0 insertions, 371 deletions
diff --git a/Doc/lib/libzipfile.tex b/Doc/lib/libzipfile.tex
deleted file mode 100644
index 366cee9..0000000
--- a/Doc/lib/libzipfile.tex
+++ /dev/null
@@ -1,371 +0,0 @@
-\section{\module{zipfile} ---
- Work with ZIP archives}
-
-\declaremodule{standard}{zipfile}
-\modulesynopsis{Read and write ZIP-format archive files.}
-\moduleauthor{James C. Ahlstrom}{jim@interet.com}
-\sectionauthor{James C. Ahlstrom}{jim@interet.com}
-% LaTeX markup by Fred L. Drake, Jr. <fdrake@acm.org>
-
-\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
-\citetitle[http://www.pkware.com/business_and_developers/developer/appnote/]
-{PKZIP Application Note}.
-
-This module does not currently handle ZIP files which have appended
-comments, or multi-disk ZIP files. It can handle ZIP files that use
-the ZIP64 extensions (that is ZIP files that are more than 4 GByte in
-size). It supports decryption of encrypted files in ZIP archives, but
-it cannot currently create an encrypted file.
-
-The available attributes of this module are:
-
-\begin{excdesc}{BadZipfile}
- The error raised for bad ZIP files (old name: \code{zipfile.error}).
-\end{excdesc}
-
-\begin{excdesc}{LargeZipFile}
- The error raised when a ZIP file would require ZIP64 functionality but that
- has not been enabled.
-\end{excdesc}
-
-\begin{classdesc*}{ZipFile}
- The class for reading and writing ZIP files. See
- ``\citetitle{ZipFile Objects}'' (section \ref{zipfile-objects}) for
- constructor details.
-\end{classdesc*}
-
-\begin{classdesc*}{PyZipFile}
- Class for creating ZIP archives containing Python libraries.
-\end{classdesc*}
-
-\begin{classdesc}{ZipInfo}{\optional{filename\optional{, date_time}}}
- Class used to represent information about a member of an archive.
- Instances of this class are returned by the \method{getinfo()} and
- \method{infolist()} methods of \class{ZipFile} objects. Most users
- of the \module{zipfile} module will not need to create these, but
- only use those created by this module.
- \var{filename} should be the full name of the archive member, and
- \var{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}, ``ZipInfo Objects.''
-\end{classdesc}
-
-\begin{funcdesc}{is_zipfile}{filename}
- Returns \code{True} if \var{filename} is a valid ZIP file based on its magic
- number, otherwise returns \code{False}. This module does not currently
- handle ZIP files which have appended comments.
-\end{funcdesc}
-
-\begin{datadesc}{ZIP_STORED}
- The numeric constant for an uncompressed archive member.
-\end{datadesc}
-
-\begin{datadesc}{ZIP_DEFLATED}
- The numeric constant for the usual ZIP compression method. This
- requires the zlib module. No other compression methods are
- currently supported.
-\end{datadesc}
-
-
-\begin{seealso}
- \seetitle[http://www.pkware.com/business_and_developers/developer/appnote/]
- {PKZIP Application Note}{Documentation on the ZIP file format by
- Phil Katz, the creator of the format and algorithms used.}
-
- \seetitle[http://www.info-zip.org/pub/infozip/]{Info-ZIP Home Page}{
- Information about the Info-ZIP project's ZIP archive
- programs and development libraries.}
-\end{seealso}
-
-
-\subsection{ZipFile Objects \label{zipfile-objects}}
-
-\begin{classdesc}{ZipFile}{file\optional{, mode\optional{, compression\optional{, allowZip64}}}}
- Open a ZIP file, where \var{file} can be either a path to a file
- (a string) or a file-like object. The \var{mode} parameter
- should be \code{'r'} to read an existing file, \code{'w'} to
- truncate and write a new file, or \code{'a'} to append to an
- existing file. If \var{mode} is \code{'a'} and \var{file}
- refers to an existing ZIP file, then additional files are added to
- it. If \var{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
-
-\begin{verbatim}
-cat myzip.zip >> python.exe
-\end{verbatim}
-
- also works, and at least \program{WinZip} can read such files.
- If \var{mode} is \code{a} and the file does not exist at all,
- it is created.
- \var{compression} is the ZIP compression method to use when writing
- the archive, and should be \constant{ZIP_STORED} or
- \constant{ZIP_DEFLATED}; unrecognized values will cause
- \exception{RuntimeError} to be raised. If \constant{ZIP_DEFLATED}
- is specified but the \refmodule{zlib} module is not available,
- \exception{RuntimeError} is also raised. The default is
- \constant{ZIP_STORED}.
- If \var{allowZip64} is \code{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) \module{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[If the file does not exist, it is created if the
- mode is 'a']{2.6}
-\end{classdesc}
-
-\begin{methoddesc}{close}{}
- Close the archive file. You must call \method{close()} before
- exiting your program or essential records will not be written.
-\end{methoddesc}
-
-\begin{methoddesc}{getinfo}{name}
- Return a \class{ZipInfo} object with information about the archive
- member \var{name}. Calling \method{getinfo()} for a name not currently
- contained in the archive will raise a \exception{KeyError}.
-\end{methoddesc}
-
-\begin{methoddesc}{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.
-\end{methoddesc}
-
-\begin{methoddesc}{namelist}{}
- Return a list of archive members by name.
-\end{methoddesc}
-
-\begin{methoddesc}{open}{name\optional{, mode\optional{, pwd}}}
- Extract a member from the archive as a file-like object (ZipExtFile).
- \var{name} is the name of the file in the archive. The \var{mode}
- parameter, if included, must be one of the following: \code{'r'} (the
- default), \code{'U'}, or \code{'rU'}. Choosing \code{'U'} or
- \code{'rU'} will enable universal newline support in the read-only
- object. \var{pwd} is the password used for encrypted files. Calling
- \method{open()} on a closed ZipFile will raise a
- \exception{RuntimeError}.
- \begin{notice}
- The file-like object is read-only and provides the following methods:
- \method{read()}, \method{readline()}, \method{readlines()},
- \method{__iter__()}, \method{next()}.
- \end{notice}
- \begin{notice}
- If the ZipFile was created by passing in a file-like object as the
- first argument to the constructor, then the object returned by
- \method{open()} shares the ZipFile's file pointer. Under these
- circumstances, the object returned by \method{open()} should not
- be used after any additional operations are performed on the
- ZipFile object. If the ZipFile was created by passing in a string
- (the filename) as the first argument to the constructor, then
- \method{open()} will create a new file object that will be held
- by the ZipExtFile, allowing it to operate independently of the
- ZipFile.
- \end{notice}
-
- \versionadded{2.6}
-\end{methoddesc}
-
-\begin{methoddesc}{printdir}{}
- Print a table of contents for the archive to \code{sys.stdout}.
-\end{methoddesc}
-
-\begin{methoddesc}{setpassword}{pwd}
- Set \var{pwd} as default password to extract encrypted files.
- \versionadded{2.6}
-\end{methoddesc}
-
-\begin{methoddesc}{read}{name\optional{, pwd}}
- Return the bytes of the file in the archive. The archive must be
- open for read or append. \var{pwd} is the password used for encrypted
- files and, if specified, it will override the default password set with
- \method{setpassword()}. Calling \method{read()} on a closed ZipFile
- will raise a \exception{RuntimeError}.
-
- \versionchanged[\var{pwd} was added]{2.6}
-\end{methoddesc}
-
-\begin{methoddesc}{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 \code{None}.
- Calling \method{testzip()} on a closed ZipFile will raise a
- \exception{RuntimeError}.
-\end{methoddesc}
-
-\begin{methoddesc}{write}{filename\optional{, arcname\optional{,
- compress_type}}}
- Write the file named \var{filename} to the archive, giving it the
- archive name \var{arcname} (by default, this will be the same as
- \var{filename}, but without a drive letter and with leading path
- separators removed). If given, \var{compress_type} overrides the
- value given for the \var{compression} parameter to the constructor
- for the new entry. The archive must be open with mode \code{'w'}
- or \code{'a'} -- calling \method{write()} on a ZipFile created with
- mode \code{'r'} will raise a \exception{RuntimeError}. Calling
- \method{write()} on a closed ZipFile will raise a
- \exception{RuntimeError}.
-
- \note{There is no official file name encoding for ZIP files.
- If you have unicode file names, please convert them to byte strings
- in your desired encoding before passing them to \method{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 \code{arcname} (or \code{filename}, if \code{arcname} is
- not given) contains a null byte, the name of the file in the archive will
- be truncated at the null byte.}
-
-\end{methoddesc}
-
-\begin{methoddesc}{writestr}{zinfo_or_arcname, bytes}
- Write the string \var{bytes} to the archive; \var{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 \code{'w'} or \code{'a'} -- calling
- \method{writestr()} on a ZipFile created with mode \code{'r'}
- will raise a \exception{RuntimeError}. Calling \method{writestr()}
- on a closed ZipFile will raise a \exception{RuntimeError}.
-\end{methoddesc}
-
-
-The following data attribute is also available:
-
-\begin{memberdesc}{debug}
- The level of debug output to use. This may be set from \code{0}
- (the default, no output) to \code{3} (the most output). Debugging
- information is written to \code{sys.stdout}.
-\end{memberdesc}
-
-
-\subsection{PyZipFile Objects \label{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.
-
-\begin{methoddesc}[PyZipFile]{writepy}{pathname\optional{, 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 \exception{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. \var{basename} is intended for
- internal use only. The \method{writepy()} method makes archives
- with file names like this:
-
-\begin{verbatim}
- string.pyc # Top level name
- test/__init__.pyc # Package directory
- test/testall.pyc # Module test.testall
- test/bogus/__init__.pyc # Subpackage directory
- test/bogus/myfile.pyc # Submodule test.bogus.myfile
-\end{verbatim}
-\end{methoddesc}
-
-
-\subsection{ZipInfo Objects \label{zipinfo-objects}}
-
-Instances of the \class{ZipInfo} class are returned by the
-\method{getinfo()} and \method{infolist()} methods of
-\class{ZipFile} objects. Each object stores information about a
-single member of the ZIP archive.
-
-Instances have the following attributes:
-
-\begin{memberdesc}[ZipInfo]{filename}
- Name of the file in the archive.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{date_time}
- The time and date of the last modification to the archive
- member. This is a tuple of six values:
-
-\begin{tableii}{c|l}{code}{Index}{Value}
- \lineii{0}{Year}
- \lineii{1}{Month (one-based)}
- \lineii{2}{Day of month (one-based)}
- \lineii{3}{Hours (zero-based)}
- \lineii{4}{Minutes (zero-based)}
- \lineii{5}{Seconds (zero-based)}
-\end{tableii}
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{compress_type}
- Type of compression for the archive member.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{comment}
- Comment for the individual archive member.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{extra}
- Expansion field data. The
- \citetitle[http://www.pkware.com/business_and_developers/developer/appnote/]
- {PKZIP Application Note} contains some comments on the internal
- structure of the data contained in this string.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{create_system}
- System which created ZIP archive.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{create_version}
- PKZIP version which created ZIP archive.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{extract_version}
- PKZIP version needed to extract archive.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{reserved}
- Must be zero.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{flag_bits}
- ZIP flag bits.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{volume}
- Volume number of file header.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{internal_attr}
- Internal attributes.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{external_attr}
- External file attributes.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{header_offset}
- Byte offset to the file header.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{CRC}
- CRC-32 of the uncompressed file.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{compress_size}
- Size of the compressed data.
-\end{memberdesc}
-
-\begin{memberdesc}[ZipInfo]{file_size}
- Size of the uncompressed file.
-\end{memberdesc}