Mercurial > cpython-lru_cache-weakref
view Doc/lib/libxreadlines.tex @ 21467:4e35fa5d5708 legacy-trunk
Add documentation for the help() built-in; contributed by Ka-Ping Yee.
This is part of SF patch #494622.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Tue, 18 Dec 2001 16:31:08 +0000 |
| parents | 7ea30a163463 |
| children | 422784709380 ca907f28e2d5 |
line wrap: on
line source
\section{\module{xreadlines} --- Efficient iteration over a file} \declaremodule{extension}{xreadlines} \modulesynopsis{Efficient iteration over the lines of a file.} \versionadded{2.1} This module defines a new object type which can efficiently iterate over the lines of a file. An xreadlines object is a sequence type which implements simple in-order indexing beginning at \code{0}, as required by \keyword{for} statement or the \function{filter()} function. Thus, the code \begin{verbatim} import xreadlines, sys for line in xreadlines.xreadlines(sys.stdin): pass \end{verbatim} has approximately the same speed and memory consumption as \begin{verbatim} while 1: lines = sys.stdin.readlines(8*1024) if not lines: break for line in lines: pass \end{verbatim} except the clarity of the \keyword{for} statement is retained in the former case. \begin{funcdesc}{xreadlines}{fileobj} Return a new xreadlines object which will iterate over the contents of \var{fileobj}. \var{fileobj} must have a \method{readlines()} method that supports the \var{sizehint} parameter. \end{funcdesc} An xreadlines object \var{s} supports the following sequence operation: \begin{tableii}{c|l}{code}{Operation}{Result} \lineii{\var{s}[\var{i}]}{\var{i}'th line of \var{s}} \end{tableii} If successive values of \var{i} are not sequential starting from \code{0}, this code will raise \exception{RuntimeError}. After the last line of the file is read, this code will raise an \exception{IndexError}.
