summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/lib/email.tex2
-rw-r--r--Doc/lib/libitertools.tex6
-rw-r--r--Doc/lib/libnis.tex2
-rw-r--r--Doc/lib/libsubprocess.tex2
-rw-r--r--Doc/lib/libtime.tex26
-rw-r--r--Doc/lib/libwebbrowser.tex2
-rw-r--r--Doc/lib/libzipfile.tex46
-rw-r--r--Doc/tut/tut.tex38
8 files changed, 95 insertions, 29 deletions
diff --git a/Doc/lib/email.tex b/Doc/lib/email.tex
index 47727a7..3de3df3 100644
--- a/Doc/lib/email.tex
+++ b/Doc/lib/email.tex
@@ -94,7 +94,7 @@ package, a section on differences and porting is provided.
This table describes the release history of the email package, corresponding
to the version of Python that the package was released with. For purposes of
this document, when you see a note about change or added versions, these refer
-to the Python version the change was made it, \emph{not} the email package
+to the Python version the change was made in, \emph{not} the email package
version. This table also describes the Python compatibility of each version
of the package.
diff --git a/Doc/lib/libitertools.tex b/Doc/lib/libitertools.tex
index 19bc826..b4784a8 100644
--- a/Doc/lib/libitertools.tex
+++ b/Doc/lib/libitertools.tex
@@ -117,7 +117,7 @@ by functions or loops that truncate the stream.
Make an iterator that drops elements from the iterable as long as
the predicate is true; afterwards, returns every element. Note,
the iterator does not produce \emph{any} output until the predicate
- is true, so it may have a lengthy start-up time. Equivalent to:
+ first becomes false, so it may have a lengthy start-up time. Equivalent to:
\begin{verbatim}
def dropwhile(predicate, iterable):
@@ -509,8 +509,8 @@ def iteritems(mapping):
return izip(mapping.iterkeys(), mapping.itervalues())
def nth(iterable, n):
- "Returns the nth item or raise IndexError"
- return list(islice(iterable, n, n+1))[0]
+ "Returns the nth item or raise StopIteration"
+ return islice(iterable, n, None).next()
def all(seq, pred=None):
"Returns True if pred(x) is true for every element in the iterable"
diff --git a/Doc/lib/libnis.tex b/Doc/lib/libnis.tex
index cc1482d..fe4acb5 100644
--- a/Doc/lib/libnis.tex
+++ b/Doc/lib/libnis.tex
@@ -2,7 +2,7 @@
Interface to Sun's NIS (Yellow Pages)}
\declaremodule{extension}{nis}
- \platform{UNIX}
+ \platform{Unix}
\moduleauthor{Fred Gansevles}{Fred.Gansevles@cs.utwente.nl}
\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il}
\modulesynopsis{Interface to Sun's NIS (Yellow Pages) library.}
diff --git a/Doc/lib/libsubprocess.tex b/Doc/lib/libsubprocess.tex
index dc386bf..e2a9bb6 100644
--- a/Doc/lib/libsubprocess.tex
+++ b/Doc/lib/libsubprocess.tex
@@ -145,6 +145,8 @@ The arguments are the same as for the Popen constructor. Example:
\begin{verbatim}
check_call(["ls", "-l"])
\end{verbatim}
+
+\versionadded{2.5}
\end{funcdesc}
\subsubsection{Exceptions}
diff --git a/Doc/lib/libtime.tex b/Doc/lib/libtime.tex
index e276045..8a45bfcc 100644
--- a/Doc/lib/libtime.tex
+++ b/Doc/lib/libtime.tex
@@ -309,15 +309,23 @@ The field width is normally 2 except for \code{\%j} where it is 3.
\begin{funcdesc}{strptime}{string\optional{, format}}
Parse a string representing a time according to a format. The return
value is a \class{struct_time} as returned by \function{gmtime()} or
-\function{localtime()}. The \var{format} parameter uses the same
-directives as those used by \function{strftime()}; it defaults to
-\code{"\%a \%b \%d \%H:\%M:\%S \%Y"} which matches the formatting
-returned by \function{ctime()}. If \var{string} cannot be parsed
-according to \var{format}, \exception{ValueError} is raised. If the
-string to be parsed has excess data after parsing,
-\exception{ValueError} is raised. The default values used to fill in
-any missing data when more accurate values cannot be inferred are
-\code{(1900, 1, 1, 0, 0, 0, 0, 1, -1)} .
+\function{localtime()}.
+
+The \var{format} parameter uses the same directives as those used by
+\function{strftime()}; it defaults to \code{"\%a \%b \%d \%H:\%M:\%S
+ \%Y"} which matches the formatting returned by \function{ctime()}.
+If \var{string} cannot be parsed according to \var{format}, or if it
+has excess data after parsing, \exception{ValueError} is raised. The
+default values used to fill in any missing data when more accurate
+values cannot be inferred are \code{(1900, 1, 1, 0, 0, 0, 0, 1, -1)}.
+
+For example:
+
+\begin{verbatim}
+>>> import time
+>>> time.strptime("30 Nov 00", "%d %b %y")
+(2000, 11, 30, 0, 0, 0, 3, 335, -1)
+\end{verbatim}
Support for the \code{\%Z} directive is based on the values contained in
\code{tzname} and whether \code{daylight} is true. Because of this,
diff --git a/Doc/lib/libwebbrowser.tex b/Doc/lib/libwebbrowser.tex
index 50366ba..5d5f236 100644
--- a/Doc/lib/libwebbrowser.tex
+++ b/Doc/lib/libwebbrowser.tex
@@ -47,7 +47,7 @@ The following functions are defined:
\begin{funcdesc}{open}{url\optional{, new=0\optional{, autoraise=1}}}
Display \var{url} using the default browser. If \var{new} is 0, the
- \var{url} is opened in the same browser window. If \var{new} is 1,
+ \var{url} is opened in the same browser window if possible. If \var{new} is 1,
a new browser window is opened if possible. If \var{new} is 2,
a new browser page ("tab") is opened if possible. If \var{autoraise} is
true, the window is raised if possible (note that under many window
diff --git a/Doc/lib/libzipfile.tex b/Doc/lib/libzipfile.tex
index 6cdd1d3..366cee9 100644
--- a/Doc/lib/libzipfile.tex
+++ b/Doc/lib/libzipfile.tex
@@ -24,8 +24,8 @@ it cannot currently create an encrypted file.
The available attributes of this module are:
-\begin{excdesc}{error}
- The error raised for bad ZIP files.
+\begin{excdesc}{BadZipfile}
+ The error raised for bad ZIP files (old name: \code{zipfile.error}).
\end{excdesc}
\begin{excdesc}{LargeZipFile}
@@ -90,7 +90,7 @@ The available attributes of this module are:
(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. For \var{mode} is \code{'a'} and \var{file}
+ 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
@@ -128,7 +128,8 @@ cat myzip.zip >> python.exe
\begin{methoddesc}{getinfo}{name}
Return a \class{ZipInfo} object with information about the archive
- member \var{name}.
+ 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}{}
@@ -147,7 +148,9 @@ cat myzip.zip >> python.exe
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.
+ 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()},
@@ -182,7 +185,8 @@ cat myzip.zip >> python.exe
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()}.
+ \method{setpassword()}. Calling \method{read()} on a closed ZipFile
+ will raise a \exception{RuntimeError}.
\versionchanged[\var{pwd} was added]{2.6}
\end{methoddesc}
@@ -190,6 +194,8 @@ cat myzip.zip >> python.exe
\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{,
@@ -200,7 +206,10 @@ cat myzip.zip >> python.exe
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'}.
+ 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
@@ -210,6 +219,11 @@ cat myzip.zip >> python.exe
\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}
@@ -218,7 +232,10 @@ cat myzip.zip >> python.exe
\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'}.
+ 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}
@@ -243,12 +260,13 @@ those of \class{ZipFile} objects.
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 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[oc]} 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
+ (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:
diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index 53a84a9..a41487b 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -2498,6 +2498,44 @@ There is even a variant to import all names that a module defines:
This imports all names except those beginning with an underscore
(\code{_}).
+\subsection{Executing modules as scripts \label{modulesAsScripts}}
+
+When you run a Python module with
+
+\begin{verbatim}
+python fibo.py <arguments>
+\end{verbatim}
+
+the code in the module will be executed, just as if you imported it, but
+with the \code{__name__} set to \code{"__main__"}. That means that by
+adding this code at the end of your module:
+
+\begin{verbatim}
+if __name__ == "__main__":
+ import sys
+ fib(int(sys.argv[1]))
+\end{verbatim}
+
+you can make the file usable as a script as well as an importable module,
+because the code that parses the command line only runs if the module is
+executed as the ``main'' file:
+
+\begin{verbatim}
+$ python fibo.py 50
+1 1 2 3 5 8 13 21 34
+\end{verbatim}
+
+If the module is imported, the code is not run:
+
+\begin{verbatim}
+>>> import fibo
+>>>
+\end{verbatim}
+
+This is often used either to provide a convenient user interface to a
+module, or for testing purposes (running the module as a script executes
+a test suite).
+
\subsection{The Module Search Path \label{searchPath}}