diff options
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/lib/email.tex | 2 | ||||
-rw-r--r-- | Doc/lib/libitertools.tex | 6 | ||||
-rw-r--r-- | Doc/lib/libnis.tex | 2 | ||||
-rw-r--r-- | Doc/lib/libsubprocess.tex | 2 | ||||
-rw-r--r-- | Doc/lib/libtime.tex | 26 | ||||
-rw-r--r-- | Doc/lib/libwebbrowser.tex | 2 | ||||
-rw-r--r-- | Doc/lib/libzipfile.tex | 46 | ||||
-rw-r--r-- | Doc/tut/tut.tex | 38 |
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}} |