Mercurial > cpython-lru_cache-weakref
annotate Doc/lib/libsys.tex @ 25838:8540887bcec6 2.2
Backport of 2.183:
Fix memory leak in add_subclass() found by NealN with valgrind.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 18 Oct 2002 13:42:21 +0000 |
| parents | 3a4a34fdfa81 |
| children | 4c7bb0b4d354 |
| rev | line source |
|---|---|
| 8918 | 1 \section{\module{sys} --- |
|
10703
e4e800a78d8d
Make internal module references hyperlinks wherever it makes sense.
Fred Drake <fdrake@acm.org>
parents:
10465
diff
changeset
|
2 System-specific parameters and functions} |
|
e4e800a78d8d
Make internal module references hyperlinks wherever it makes sense.
Fred Drake <fdrake@acm.org>
parents:
10465
diff
changeset
|
3 |
|
8716
760dcf197048
Adjusted to use the new module synopsis support macros.
Fred Drake <fdrake@acm.org>
parents:
8480
diff
changeset
|
4 \declaremodule{builtin}{sys} |
| 8918 | 5 \modulesynopsis{Access system-specific parameters and functions.} |
|
8716
760dcf197048
Adjusted to use the new module synopsis support macros.
Fred Drake <fdrake@acm.org>
parents:
8480
diff
changeset
|
6 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 This module provides access to some variables used or maintained by the |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 interpreter and to functions that interact strongly with the interpreter. |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 It is always available. |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 |
|
2576
f47bc5554418
mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents:
2491
diff
changeset
|
11 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 \begin{datadesc}{argv} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
13 The list of command line arguments passed to a Python script. |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
14 \code{argv[0]} is the script name (it is operating system dependent |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
15 whether this is a full pathname or not). If the command was |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
16 executed using the \programopt{-c} command line option to the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
17 interpreter, \code{argv[0]} is set to the string \code{'-c'}. If no |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
18 script name was passed to the Python interpreter, \code{argv} has |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
19 zero length. |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 |
|
13977
eb9a36163a9e
Guido pointed out that all names in the sys module have no underscore,
Fred Drake <fdrake@acm.org>
parents:
13969
diff
changeset
|
22 \begin{datadesc}{byteorder} |
|
13969
55e3988205b3
Document the byte_order value in the sys module.
Fred Drake <fdrake@acm.org>
parents:
13222
diff
changeset
|
23 An indicator of the native byte order. This will have the value |
|
55e3988205b3
Document the byte_order value in the sys module.
Fred Drake <fdrake@acm.org>
parents:
13222
diff
changeset
|
24 \code{'big'} on big-endian (most-signigicant byte first) platforms, |
|
55e3988205b3
Document the byte_order value in the sys module.
Fred Drake <fdrake@acm.org>
parents:
13222
diff
changeset
|
25 and \code{'little'} on little-endian (least-significant byte first) |
|
55e3988205b3
Document the byte_order value in the sys module.
Fred Drake <fdrake@acm.org>
parents:
13222
diff
changeset
|
26 platforms. |
|
55e3988205b3
Document the byte_order value in the sys module.
Fred Drake <fdrake@acm.org>
parents:
13222
diff
changeset
|
27 \versionadded{2.0} |
|
55e3988205b3
Document the byte_order value in the sys module.
Fred Drake <fdrake@acm.org>
parents:
13222
diff
changeset
|
28 \end{datadesc} |
|
55e3988205b3
Document the byte_order value in the sys module.
Fred Drake <fdrake@acm.org>
parents:
13222
diff
changeset
|
29 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
30 \begin{datadesc}{builtin_module_names} |
|
4908
cfa1282902da
Document that sys.builtin_module_names is now a tuple.
Guido van Rossum <guido@python.org>
parents:
2817
diff
changeset
|
31 A tuple of strings giving the names of all modules that are compiled |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
32 into this Python interpreter. (This information is not available in |
| 7602 | 33 any other way --- \code{modules.keys()} only lists the imported |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 modules.) |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
35 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
36 |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
37 \begin{datadesc}{copyright} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
38 A string containing the copyright pertaining to the Python |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
39 interpreter. |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
40 \end{datadesc} |
|
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
41 |
|
12223
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
42 \begin{datadesc}{dllhandle} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
43 Integer specifying the handle of the Python DLL. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
44 Availability: Windows. |
|
12223
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
45 \end{datadesc} |
|
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
46 |
|
15811
1a00d21910c8
Implementation of PEP-0217.
Moshe Zadka <moshez@math.huji.ac.il>
parents:
15487
diff
changeset
|
47 \begin{funcdesc}{displayhook}{\var{value}} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
48 If \var{value} is not \code{None}, this function prints it to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
49 \code{sys.stdout}, and saves it in \code{__builtin__._}. |
|
15811
1a00d21910c8
Implementation of PEP-0217.
Moshe Zadka <moshez@math.huji.ac.il>
parents:
15487
diff
changeset
|
50 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
51 \code{sys.displayhook} is called on the result of evaluating an |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
52 expression entered in an interactive Python session. The display of |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
53 these values can be customized by assigning another one-argument |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
54 function to \code{sys.displayhook}. |
|
15811
1a00d21910c8
Implementation of PEP-0217.
Moshe Zadka <moshez@math.huji.ac.il>
parents:
15487
diff
changeset
|
55 \end{funcdesc} |
|
1a00d21910c8
Implementation of PEP-0217.
Moshe Zadka <moshez@math.huji.ac.il>
parents:
15487
diff
changeset
|
56 |
| 17164 | 57 \begin{funcdesc}{excepthook}{\var{type}, \var{value}, \var{traceback}} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
58 This function prints out a given traceback and exception to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
59 \code{sys.stderr}. |
| 17164 | 60 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
61 When an exception is raised and uncaught, the interpreter calls |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
62 \code{sys.excepthook} with three arguments, the exception class, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
63 exception instance, and a traceback object. In an interactive |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
64 session this happens just before control is returned to the prompt; |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
65 in a Python program this happens just before the program exits. The |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
66 handling of such top-level exceptions can be customized by assigning |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
67 another three-argument function to \code{sys.excepthook}. |
| 17164 | 68 \end{funcdesc} |
| 69 | |
| 70 \begin{datadesc}{__displayhook__} | |
| 71 \dataline{__excepthook__} | |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
72 These objects contain the original values of \code{displayhook} and |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
73 \code{excepthook} at the start of the program. They are saved so |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
74 that \code{displayhook} and \code{excepthook} can be restored in |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
75 case they happen to get replaced with broken objects. |
| 17164 | 76 \end{datadesc} |
| 77 | |
|
6492
222dd4d06581
Documented exc_info(); also updated exc_type and last_type docs.
Guido van Rossum <guido@python.org>
parents:
5818
diff
changeset
|
78 \begin{funcdesc}{exc_info}{} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
79 This function returns a tuple of three values that give information |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
80 about the exception that is currently being handled. The |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
81 information returned is specific both to the current thread and to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
82 the current stack frame. If the current stack frame is not handling |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
83 an exception, the information is taken from the calling stack frame, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
84 or its caller, and so on until a stack frame is found that is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
85 handling an exception. Here, ``handling an exception'' is defined |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
86 as ``executing or having executed an except clause.'' For any stack |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
87 frame, only information about the most recently handled exception is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
88 accessible. |
|
6492
222dd4d06581
Documented exc_info(); also updated exc_type and last_type docs.
Guido van Rossum <guido@python.org>
parents:
5818
diff
changeset
|
89 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
90 If no exception is being handled anywhere on the stack, a tuple |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
91 containing three \code{None} values is returned. Otherwise, the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
92 values returned are \code{(\var{type}, \var{value}, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
93 \var{traceback})}. Their meaning is: \var{type} gets the exception |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
94 type of the exception being handled (a string or class object); |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
95 \var{value} gets the exception parameter (its \dfn{associated value} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
96 or the second argument to \keyword{raise}, which is always a class |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
97 instance if the exception type is a class object); \var{traceback} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
98 gets a traceback object (see the Reference Manual) which |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
99 encapsulates the call stack at the point where the exception |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
100 originally occurred. \obindex{traceback} |
|
6492
222dd4d06581
Documented exc_info(); also updated exc_type and last_type docs.
Guido van Rossum <guido@python.org>
parents:
5818
diff
changeset
|
101 |
|
20580
376ee174ecd0
Use the \note and \warning macros where appropriate.
Fred Drake <fdrake@acm.org>
parents:
20455
diff
changeset
|
102 \warning{Assigning the \var{traceback} return value to a |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
103 local variable in a function that is handling an exception will |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
104 cause a circular reference. This will prevent anything referenced |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
105 by a local variable in the same function or by the traceback from |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
106 being garbage collected. Since most functions don't need access to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
107 the traceback, the best solution is to use something like |
|
21642
3a4a34fdfa81
Do not mask the name of a built-in function in example code.
Fred Drake <fdrake@acm.org>
parents:
21062
diff
changeset
|
108 \code{exctype, value = sys.exc_info()[:2]} to extract only the |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
109 exception type and value. If you do need the traceback, make sure |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
110 to delete it after use (best done with a \keyword{try} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
111 ... \keyword{finally} statement) or to call \function{exc_info()} in |
|
20624
7c381dd0779c
Doc and NEWS changes due to Jeremy adding traceback objects to gc.
Tim Peters <tim.peters@gmail.com>
parents:
20580
diff
changeset
|
112 a function that does not itself handle an exception.} \note{Beginning |
|
7c381dd0779c
Doc and NEWS changes due to Jeremy adding traceback objects to gc.
Tim Peters <tim.peters@gmail.com>
parents:
20580
diff
changeset
|
113 with Python 2.2, such cycles are automatically reclaimed when garbage |
|
7c381dd0779c
Doc and NEWS changes due to Jeremy adding traceback objects to gc.
Tim Peters <tim.peters@gmail.com>
parents:
20580
diff
changeset
|
114 collection is enabled and they become unreachable, but it remains more |
|
7c381dd0779c
Doc and NEWS changes due to Jeremy adding traceback objects to gc.
Tim Peters <tim.peters@gmail.com>
parents:
20580
diff
changeset
|
115 efficient to avoid creating cycles.} |
|
6492
222dd4d06581
Documented exc_info(); also updated exc_type and last_type docs.
Guido van Rossum <guido@python.org>
parents:
5818
diff
changeset
|
116 \end{funcdesc} |
|
222dd4d06581
Documented exc_info(); also updated exc_type and last_type docs.
Guido van Rossum <guido@python.org>
parents:
5818
diff
changeset
|
117 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
118 \begin{datadesc}{exc_type} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
119 \dataline{exc_value} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
120 \dataline{exc_traceback} |
| 7602 | 121 \deprecated {1.5} |
| 122 {Use \function{exc_info()} instead.} | |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
123 Since they are global variables, they are not specific to the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
124 current thread, so their use is not safe in a multi-threaded |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
125 program. When no exception is being handled, \code{exc_type} is set |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
126 to \code{None} and the other two are undefined. |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
127 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
128 |
|
5684
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
129 \begin{datadesc}{exec_prefix} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
130 A string giving the site-specific directory prefix where the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
131 platform-dependent Python files are installed; by default, this is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
132 also \code{'/usr/local'}. This can be set at build time with the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
133 \longprogramopt{exec-prefix} argument to the \program{configure} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
134 script. Specifically, all configuration files (e.g. the |
|
18835
2dea40e40d9d
Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774.
Martin v. Löwis <martin@v.loewis.de>
parents:
18716
diff
changeset
|
135 \file{pyconfig.h} header file) are installed in the directory |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
136 \code{exec_prefix + '/lib/python\var{version}/config'}, and shared |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
137 library modules are installed in \code{exec_prefix + |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
138 '/lib/python\var{version}/lib-dynload'}, where \var{version} is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
139 equal to \code{version[:3]}. |
|
5684
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
140 \end{datadesc} |
|
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
141 |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
142 \begin{datadesc}{executable} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
143 A string giving the name of the executable binary for the Python |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
144 interpreter, on systems where this makes sense. |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
145 \end{datadesc} |
|
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
146 |
|
9511
bbe92932a005
Rewrote the section on sys.exit(), documenting other argument types
Guido van Rossum <guido@python.org>
parents:
8918
diff
changeset
|
147 \begin{funcdesc}{exit}{\optional{arg}} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
148 Exit from Python. This is implemented by raising the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
149 \exception{SystemExit} exception, so cleanup actions specified by |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
150 finally clauses of \keyword{try} statements are honored, and it is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
151 possible to intercept the exit attempt at an outer level. The |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
152 optional argument \var{arg} can be an integer giving the exit status |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
153 (defaulting to zero), or another type of object. If it is an |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
154 integer, zero is considered ``successful termination'' and any |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
155 nonzero value is considered ``abnormal termination'' by shells and |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
156 the like. Most systems require it to be in the range 0-127, and |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
157 produce undefined results otherwise. Some systems have a convention |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
158 for assigning specific meanings to specific exit codes, but these |
|
21062
bc02c3b09626
Clean up some markup cruft. A number of the macros that take no
Fred Drake <fdrake@acm.org>
parents:
20624
diff
changeset
|
159 are generally underdeveloped; \UNIX{} programs generally use 2 for |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
160 command line syntax errors and 1 for all other kind of errors. If |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
161 another type of object is passed, \code{None} is equivalent to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
162 passing zero, and any other object is printed to \code{sys.stderr} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
163 and results in an exit code of 1. In particular, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
164 \code{sys.exit("some error message")} is a quick way to exit a |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
165 program when an error occurs. |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
166 \end{funcdesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
167 |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
168 \begin{datadesc}{exitfunc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
169 This value is not actually defined by the module, but can be set by |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
170 the user (or by a program) to specify a clean-up action at program |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
171 exit. When set, it should be a parameterless function. This |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
172 function will be called when the interpreter exits. Only one |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
173 function may be installed in this way; to allow multiple functions |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
174 which will be called at termination, use the \refmodule{atexit} |
|
20580
376ee174ecd0
Use the \note and \warning macros where appropriate.
Fred Drake <fdrake@acm.org>
parents:
20455
diff
changeset
|
175 module. \note{The exit function is not called when the program is |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
176 killed by a signal, when a Python fatal internal error is detected, |
|
20580
376ee174ecd0
Use the \note and \warning macros where appropriate.
Fred Drake <fdrake@acm.org>
parents:
20455
diff
changeset
|
177 or when \code{os._exit()} is called.} |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
178 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
179 |
|
15331
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
180 \begin{funcdesc}{getdefaultencoding}{} |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
181 Return the name of the current default string encoding used by the |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
182 Unicode implementation. |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
183 \versionadded{2.0} |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
184 \end{funcdesc} |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
185 |
|
18689
064de84385ca
Patch #412229: Add functions sys.getdlopenflags and sys.setdlopenflags.
Martin v. Löwis <martin@v.loewis.de>
parents:
17176
diff
changeset
|
186 \begin{funcdesc}{getdlopenflags}{} |
|
18691
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
187 Return the current value of the flags that are used for |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
188 \cfunction{dlopen()} calls. The flag constants are defined in the |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
189 \refmodule{dl} and \module{DLFCN} modules. |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
190 Availability: \UNIX. |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
191 \versionadded{2.2} |
|
18689
064de84385ca
Patch #412229: Add functions sys.getdlopenflags and sys.setdlopenflags.
Martin v. Löwis <martin@v.loewis.de>
parents:
17176
diff
changeset
|
192 \end{funcdesc} |
|
064de84385ca
Patch #412229: Add functions sys.getdlopenflags and sys.setdlopenflags.
Martin v. Löwis <martin@v.loewis.de>
parents:
17176
diff
changeset
|
193 |
|
7216
16ecf1554a83
Document getrefcount().
Guido van Rossum <guido@python.org>
parents:
7079
diff
changeset
|
194 \begin{funcdesc}{getrefcount}{object} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
195 Return the reference count of the \var{object}. The count returned |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
196 is generally one higher than you might expect, because it includes |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
197 the (temporary) reference as an argument to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
198 \function{getrefcount()}. |
|
7216
16ecf1554a83
Document getrefcount().
Guido van Rossum <guido@python.org>
parents:
7079
diff
changeset
|
199 \end{funcdesc} |
|
16ecf1554a83
Document getrefcount().
Guido van Rossum <guido@python.org>
parents:
7079
diff
changeset
|
200 |
|
14308
b8b3f76ffd51
add user-modifiable recursion_limit
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
13977
diff
changeset
|
201 \begin{funcdesc}{getrecursionlimit}{} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
202 Return the current value of the recursion limit, the maximum depth |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
203 of the Python interpreter stack. This limit prevents infinite |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
204 recursion from causing an overflow of the C stack and crashing |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
205 Python. It can be set by \function{setrecursionlimit()}. |
|
14308
b8b3f76ffd51
add user-modifiable recursion_limit
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
13977
diff
changeset
|
206 \end{funcdesc} |
|
b8b3f76ffd51
add user-modifiable recursion_limit
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
13977
diff
changeset
|
207 |
|
15487
f0ca4c67957b
_getframe(): New sys module function for getting at the stack frame.
Barry Warsaw <barry@python.org>
parents:
15331
diff
changeset
|
208 \begin{funcdesc}{_getframe}{\optional{depth}} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
209 Return a frame object from the call stack. If optional integer |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
210 \var{depth} is given, return the frame object that many calls below |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
211 the top of the stack. If that is deeper than the call stack, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
212 \exception{ValueError} is raised. The default for \var{depth} is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
213 zero, returning the frame at the top of the call stack. |
|
15487
f0ca4c67957b
_getframe(): New sys module function for getting at the stack frame.
Barry Warsaw <barry@python.org>
parents:
15331
diff
changeset
|
214 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
215 This function should be used for internal and specialized purposes |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
216 only. |
|
15487
f0ca4c67957b
_getframe(): New sys module function for getting at the stack frame.
Barry Warsaw <barry@python.org>
parents:
15331
diff
changeset
|
217 \end{funcdesc} |
|
f0ca4c67957b
_getframe(): New sys module function for getting at the stack frame.
Barry Warsaw <barry@python.org>
parents:
15331
diff
changeset
|
218 |
|
12395
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
219 \begin{datadesc}{hexversion} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
220 The version number encoded as a single integer. This is guaranteed |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
221 to increase with each version, including proper support for |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
222 non-production releases. For example, to test that the Python |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
223 interpreter is at least version 1.5.2, use: |
|
12395
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
224 |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
225 \begin{verbatim} |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
226 if sys.hexversion >= 0x010502F0: |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
227 # use some advanced feature |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
228 ... |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
229 else: |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
230 # use an alternative implementation or warn the user |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
231 ... |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
232 \end{verbatim} |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
233 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
234 This is called \samp{hexversion} since it only really looks |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
235 meaningful when viewed as the result of passing it to the built-in |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
236 \function{hex()} function. The \code{version_info} value may be |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
237 used for a more human-friendly encoding of the same information. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
238 \versionadded{1.5.2} |
|
12395
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
239 \end{datadesc} |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
240 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
241 \begin{datadesc}{last_type} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
242 \dataline{last_value} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
243 \dataline{last_traceback} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
244 These three variables are not always defined; they are set when an |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
245 exception is not handled and the interpreter prints an error message |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
246 and a stack traceback. Their intended use is to allow an |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
247 interactive user to import a debugger module and engage in |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
248 post-mortem debugging without having to re-execute the command that |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
249 caused the error. (Typical use is \samp{import pdb; pdb.pm()} to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
250 enter the post-mortem debugger; see chapter \ref{debugger}, ``The |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
251 Python Debugger,'' for more information.) |
|
6492
222dd4d06581
Documented exc_info(); also updated exc_type and last_type docs.
Guido van Rossum <guido@python.org>
parents:
5818
diff
changeset
|
252 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
253 The meaning of the variables is the same as that of the return |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
254 values from \function{exc_info()} above. (Since there is only one |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
255 interactive thread, thread-safety is not a concern for these |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
256 variables, unlike for \code{exc_type} etc.) |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
257 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
258 |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
259 \begin{datadesc}{maxint} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
260 The largest positive integer supported by Python's regular integer |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
261 type. This is at least 2**31-1. The largest negative integer is |
|
19688
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
262 \code{-maxint-1} --- the asymmetry results from the use of 2's |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
263 complement binary arithmetic. |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
264 \end{datadesc} |
|
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
265 |
|
19688
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
266 \begin{datadesc}{maxunicode} |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
267 An integer giving the largest supported code point for a Unicode |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
268 character. The value of this depends on the configuration option |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
269 that specifies whether Unicode characters are stored as UCS-2 or |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
270 UCS-4. |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
271 \end{datadesc} |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
272 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
273 \begin{datadesc}{modules} |
| 7602 | 274 This is a dictionary that maps module names to modules which have |
| 275 already been loaded. This can be manipulated to force reloading of | |
| 276 modules and other tricks. Note that removing a module from this | |
| 277 dictionary is \emph{not} the same as calling | |
| 278 \function{reload()}\bifuncindex{reload} on the corresponding module | |
| 279 object. | |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
280 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
281 |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
282 \begin{datadesc}{path} |
|
7079
322dca5ee145
Added "module search path" to the index.
Fred Drake <fdrake@acm.org>
parents:
6862
diff
changeset
|
283 \indexiii{module}{search}{path} |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
284 A list of strings that specifies the search path for modules. |
|
8716
760dcf197048
Adjusted to use the new module synopsis support macros.
Fred Drake <fdrake@acm.org>
parents:
8480
diff
changeset
|
285 Initialized from the environment variable \envvar{PYTHONPATH}, or an |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
286 installation-dependent default. |
|
5684
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
287 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
288 The first item of this list, \code{path[0]}, is the directory |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
289 containing the script that was used to invoke the Python |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
290 interpreter. If the script directory is not available (e.g. if the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
291 interpreter is invoked interactively or if the script is read from |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
292 standard input), \code{path[0]} is the empty string, which directs |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
293 Python to search modules in the current directory first. Notice |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
294 that the script directory is inserted \emph{before} the entries |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
295 inserted as a result of \envvar{PYTHONPATH}. |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
296 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
297 |
|
2817
8b8fb24d4837
correct typo; document sys.platform
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
298 \begin{datadesc}{platform} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
299 This string contains a platform identifier, e.g. \code{'sunos5'} or |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
300 \code{'linux1'}. This can be used to append platform-specific |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
301 components to \code{path}, for instance. |
|
5684
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
302 \end{datadesc} |
|
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
303 |
|
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
304 \begin{datadesc}{prefix} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
305 A string giving the site-specific directory prefix where the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
306 platform independent Python files are installed; by default, this is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
307 the string \code{'/usr/local'}. This can be set at build time with |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
308 the \longprogramopt{prefix} argument to the \program{configure} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
309 script. The main collection of Python library modules is installed |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
310 in the directory \code{prefix + '/lib/python\var{version}'} while |
|
18835
2dea40e40d9d
Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774.
Martin v. Löwis <martin@v.loewis.de>
parents:
18716
diff
changeset
|
311 the platform independent header files (all except \file{pyconfig.h}) |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
312 are stored in \code{prefix + '/include/python\var{version}'}, where |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
313 \var{version} is equal to \code{version[:3]}. |
|
2817
8b8fb24d4837
correct typo; document sys.platform
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
314 \end{datadesc} |
|
8b8fb24d4837
correct typo; document sys.platform
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
315 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
316 \begin{datadesc}{ps1} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
317 \dataline{ps2} |
| 7824 | 318 \index{interpreter prompts} |
| 319 \index{prompts, interpreter} | |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
320 Strings specifying the primary and secondary prompt of the |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
321 interpreter. These are only defined if the interpreter is in |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
322 interactive mode. Their initial values in this case are |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
323 \code{'>\code{>}> '} and \code{'... '}. If a non-string object is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
324 assigned to either variable, its \function{str()} is re-evaluated |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
325 each time the interpreter prepares to read a new interactive |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
326 command; this can be used to implement a dynamic prompt. |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
327 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
328 |
|
2109
07080a296070
sys.setcheckinterval(x) instead of sys.check_interval = x
Guido van Rossum <guido@python.org>
parents:
1936
diff
changeset
|
329 \begin{funcdesc}{setcheckinterval}{interval} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
330 Set the interpreter's ``check interval''. This integer value |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
331 determines how often the interpreter checks for periodic things such |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
332 as thread switches and signal handlers. The default is \code{10}, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
333 meaning the check is performed every 10 Python virtual instructions. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
334 Setting it to a larger value may increase performance for programs |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
335 using threads. Setting it to a value \code{<=} 0 checks every |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
336 virtual instruction, maximizing responsiveness as well as overhead. |
| 2138 | 337 \end{funcdesc} |
|
2109
07080a296070
sys.setcheckinterval(x) instead of sys.check_interval = x
Guido van Rossum <guido@python.org>
parents:
1936
diff
changeset
|
338 |
|
15331
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
339 \begin{funcdesc}{setdefaultencoding}{name} |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
340 Set the current default string encoding used by the Unicode |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
341 implementation. If \var{name} does not match any available |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
342 encoding, \exception{LookupError} is raised. This function is only |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
343 intended to be used by the \refmodule{site} module implementation |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
344 and, where needed, by \module{sitecustomize}. Once used by the |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
345 \refmodule{site} module, it is removed from the \module{sys} |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
346 module's namespace. |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
347 % Note that \refmodule{site} is not imported if |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
348 % the \programopt{-S} option is passed to the interpreter, in which |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
349 % case this function will remain available. |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
350 \versionadded{2.0} |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
351 \end{funcdesc} |
|
788b523d4827
Additions from Marc-Andre Lemburg <mal@lemburg.com>, documenting
Fred Drake <fdrake@acm.org>
parents:
14311
diff
changeset
|
352 |
| 18716 | 353 \begin{funcdesc}{setdlopenflags}{n} |
|
18691
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
354 Set the flags used by the interpreter for \cfunction{dlopen()} |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
355 calls, such as when the interpreter loads extension modules. Among |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
356 other things, this will enable a lazy resolving of symbols when |
| 18716 | 357 importing a module, if called as \code{sys.setdlopenflags(0)}. To |
| 358 share symbols across extension modules, call as | |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
359 \code{sys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL)}. Symbolic |
|
18691
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
360 names for the flag modules can be either found in the \refmodule{dl} |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
361 module, or in the \module{DLFCN} module. If \module{DLFCN} is not |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
362 available, it can be generated from \file{/usr/include/dlfcn.h} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
363 using the \program{h2py} script. |
|
18691
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
364 Availability: \UNIX. |
|
07917f143488
Made a few minor style & markup changes to the new {get,set}dlopenflags()
Fred Drake <fdrake@acm.org>
parents:
18689
diff
changeset
|
365 \versionadded{2.2} |
|
18689
064de84385ca
Patch #412229: Add functions sys.getdlopenflags and sys.setdlopenflags.
Martin v. Löwis <martin@v.loewis.de>
parents:
17176
diff
changeset
|
366 \end{funcdesc} |
|
064de84385ca
Patch #412229: Add functions sys.getdlopenflags and sys.setdlopenflags.
Martin v. Löwis <martin@v.loewis.de>
parents:
17176
diff
changeset
|
367 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
368 \begin{funcdesc}{setprofile}{profilefunc} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
369 Set the system's profile function,\index{profile function} which |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
370 allows you to implement a Python source code profiler in |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
371 Python.\index{profiler} See chapter \ref{profile} for more |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
372 information on the Python profiler. The system's profile function |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
373 is called similarly to the system's trace function (see |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
374 \function{settrace()}), but it isn't called for each executed line |
|
20455
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
375 of code (only on call and return, but the return event is reported |
|
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
376 even when an exception has been set). The function is |
|
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
377 thread-specific, but there is no way for the profiler to know about |
|
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
378 context switches between threads, so it does not make sense to use |
|
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
379 this in the presence of multiple threads. |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
380 Also, its return value is not used, so it can simply return |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
381 \code{None}. |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
382 \end{funcdesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
383 |
|
14308
b8b3f76ffd51
add user-modifiable recursion_limit
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
13977
diff
changeset
|
384 \begin{funcdesc}{setrecursionlimit}{limit} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
385 Set the maximum depth of the Python interpreter stack to |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
386 \var{limit}. This limit prevents infinite recursion from causing an |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
387 overflow of the C stack and crashing Python. |
|
14308
b8b3f76ffd51
add user-modifiable recursion_limit
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
13977
diff
changeset
|
388 |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
389 The highest possible limit is platform-dependent. A user may need |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
390 to set the limit higher when she has a program that requires deep |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
391 recursion and a platform that supports a higher limit. This should |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
392 be done with care, because a too-high limit can lead to a crash. |
|
14311
97651f28b004
Fix markup error and minor consistency nit.
Fred Drake <fdrake@acm.org>
parents:
14308
diff
changeset
|
393 \end{funcdesc} |
|
14308
b8b3f76ffd51
add user-modifiable recursion_limit
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
13977
diff
changeset
|
394 |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
395 \begin{funcdesc}{settrace}{tracefunc} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
396 Set the system's trace function,\index{trace function} which allows |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
397 you to implement a Python source code debugger in Python. See |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
398 section \ref{debugger-hooks}, ``How It Works,'' in the chapter on |
|
20455
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
399 the Python debugger.\index{debugger} The function is |
|
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
400 thread-specific; for a debugger to support multiple threads, it must |
|
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
401 be registered using \function{settrace()} for each thread being |
|
ec9596687292
Added information about setprofile() and settrace() hooks being thread-
Fred Drake <fdrake@acm.org>
parents:
19688
diff
changeset
|
402 debugged. |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
403 \end{funcdesc} |
|
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
404 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
405 \begin{datadesc}{stdin} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
406 \dataline{stdout} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
407 \dataline{stderr} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
408 File objects corresponding to the interpreter's standard input, |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
409 output and error streams. \code{stdin} is used for all interpreter |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
410 input except for scripts but including calls to |
| 7602 | 411 \function{input()}\bifuncindex{input} and |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
412 \function{raw_input()}\bifuncindex{raw_input}. \code{stdout} is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
413 used for the output of \keyword{print} and expression statements and |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
414 for the prompts of \function{input()} and \function{raw_input()}. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
415 The interpreter's own prompts and (almost all of) its error messages |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
416 go to \code{stderr}. \code{stdout} and \code{stderr} needn't be |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
417 built-in file objects: any object is acceptable as long as it has a |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
418 \method{write()} method that takes a string argument. (Changing |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
419 these objects doesn't affect the standard I/O streams of processes |
| 7602 | 420 executed by \function{os.popen()}, \function{os.system()} or the |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
421 \function{exec*()} family of functions in the \refmodule{os} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
422 module.) |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
423 \end{datadesc} |
|
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
424 |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
425 \begin{datadesc}{__stdin__} |
|
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
426 \dataline{__stdout__} |
|
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
427 \dataline{__stderr__} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
428 These objects contain the original values of \code{stdin}, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
429 \code{stderr} and \code{stdout} at the start of the program. They |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
430 are used during finalization, and could be useful to restore the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
431 actual files to known working file objects in case they have been |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
432 overwritten with a broken object. |
|
8480
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
433 \end{datadesc} |
|
d93ae374fb99
Document several variables that were previously undocumented,
Guido van Rossum <guido@python.org>
parents:
7877
diff
changeset
|
434 |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
435 \begin{datadesc}{tracebacklimit} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
436 When this variable is set to an integer value, it determines the |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
437 maximum number of levels of traceback information printed when an |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
438 unhandled exception occurs. The default is \code{1000}. When set |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
439 to \code{0} or less, all traceback information is suppressed and |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
440 only the exception type and value are printed. |
|
1471
2ec96140a36b
Restructured library documentation
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
441 \end{datadesc} |
|
5684
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
442 |
|
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
443 \begin{datadesc}{version} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
444 A string containing the version number of the Python interpreter |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
445 plus additional information on the build number and compiler used. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
446 It has a value of the form \code{'\var{version} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
447 (\#\var{build_number}, \var{build_date}, \var{build_time}) |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
448 [\var{compiler}]'}. The first three characters are used to identify |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
449 the version in the installation directories (where appropriate on |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
450 each platform). An example: |
|
12223
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
451 |
|
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
452 \begin{verbatim} |
|
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
453 >>> import sys |
|
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
454 >>> sys.version |
|
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
455 '1.5.2 (#0 Apr 13 1999, 10:51:12) [MSC 32 bit (Intel)]' |
|
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
456 \end{verbatim} |
|
5684
a0831de2358c
Additional info about sys.path, sys.version, sys.prefix, sys.exec_prefix.
Guido van Rossum <guido@python.org>
parents:
4908
diff
changeset
|
457 \end{datadesc} |
|
12223
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
458 |
|
12395
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
459 \begin{datadesc}{version_info} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
460 A tuple containing the five components of the version number: |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
461 \var{major}, \var{minor}, \var{micro}, \var{releaselevel}, and |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
462 \var{serial}. All values except \var{releaselevel} are integers; |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
463 the release level is \code{'alpha'}, \code{'beta'}, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
464 \code{'candidate'}, or \code{'final'}. The \code{version_info} |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
465 value corresponding to the Python version 2.0 is \code{(2, 0, 0, |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
466 'final', 0)}. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
467 \versionadded{2.0} |
|
12395
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
468 \end{datadesc} |
|
3bb398996291
Document hexversion (incompletely explained) and version_info (easily
Fred Drake <fdrake@acm.org>
parents:
12380
diff
changeset
|
469 |
|
19688
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
470 \begin{datadesc}{warnoptions} |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
471 This is an implementation detail of the warnings framework; do not |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
472 modify this value. Refer to the \refmodule{warnings} module for |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
473 more information on the warnings framework. |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
474 \end{datadesc} |
|
31a66c0c7d30
Added documentation for sys.maxunicode and sys.warnoptions.
Fred Drake <fdrake@acm.org>
parents:
18835
diff
changeset
|
475 |
|
12223
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
476 \begin{datadesc}{winver} |
|
18694
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
477 The version number used to form registry keys on Windows platforms. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
478 This is stored as string resource 1000 in the Python DLL. The value |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
479 is normally the first three characters of \constant{version}. It is |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
480 provided in the \module{sys} module for informational purposes; |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
481 modifying this value has no effect on the registry keys used by |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
482 Python. |
|
9218fa652391
"Make small changes, but carry a big diff."
Fred Drake <fdrake@acm.org>
parents:
18691
diff
changeset
|
483 Availability: Windows. |
|
12223
e82e82b3b9ad
Merged changes from the 1.5.2p2 release.
Fred Drake <fdrake@acm.org>
parents:
11457
diff
changeset
|
484 \end{datadesc} |
