Mercurial > cpython-lru_cache-weakref
annotate 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 |
| rev | line source |
|---|---|
|
15789
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
1 \section{\module{xreadlines} --- |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
2 Efficient iteration over a file} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
3 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
4 \declaremodule{extension}{xreadlines} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
5 \modulesynopsis{Efficient iteration over the lines of a file.} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
6 |
|
15833
7ea30a163463
Added note that this module was added in Python 2.1.
Fred Drake <fdrake@acm.org>
parents:
15789
diff
changeset
|
7 \versionadded{2.1} |
|
7ea30a163463
Added note that this module was added in Python 2.1.
Fred Drake <fdrake@acm.org>
parents:
15789
diff
changeset
|
8 |
|
7ea30a163463
Added note that this module was added in Python 2.1.
Fred Drake <fdrake@acm.org>
parents:
15789
diff
changeset
|
9 |
|
15789
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
10 This module defines a new object type which can efficiently iterate |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
11 over the lines of a file. An xreadlines object is a sequence type |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
12 which implements simple in-order indexing beginning at \code{0}, as |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
13 required by \keyword{for} statement or the |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
14 \function{filter()} function. |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
15 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
16 Thus, the code |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
17 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
18 \begin{verbatim} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
19 import xreadlines, sys |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
20 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
21 for line in xreadlines.xreadlines(sys.stdin): |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
22 pass |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
23 \end{verbatim} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
24 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
25 has approximately the same speed and memory consumption as |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
26 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
27 \begin{verbatim} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
28 while 1: |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
29 lines = sys.stdin.readlines(8*1024) |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
30 if not lines: break |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
31 for line in lines: |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
32 pass |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
33 \end{verbatim} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
34 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
35 except the clarity of the \keyword{for} statement is retained in the |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
36 former case. |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
37 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
38 \begin{funcdesc}{xreadlines}{fileobj} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
39 Return a new xreadlines object which will iterate over the contents |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
40 of \var{fileobj}. \var{fileobj} must have a \method{readlines()} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
41 method that supports the \var{sizehint} parameter. |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
42 \end{funcdesc} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
43 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
44 An xreadlines object \var{s} supports the following sequence |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
45 operation: |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
46 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
47 \begin{tableii}{c|l}{code}{Operation}{Result} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
48 \lineii{\var{s}[\var{i}]}{\var{i}'th line of \var{s}} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
49 \end{tableii} |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
50 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
51 If successive values of \var{i} are not sequential starting from |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
52 \code{0}, this code will raise \exception{RuntimeError}. |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
53 |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
54 After the last line of the file is read, this code will raise an |
|
9e9556924b0a
Added documentation for the xreadlines module & related changes. The
Fred Drake <fdrake@acm.org>
parents:
diff
changeset
|
55 \exception{IndexError}. |
