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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8918
acfffe14628e New section header style.
Fred Drake <fdrake@acm.org>
parents: 8716
diff changeset
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
acfffe14628e New section header style.
Fred Drake <fdrake@acm.org>
parents: 8716
diff changeset
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
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
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
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
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
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
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
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
68 \end{funcdesc}
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
69
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
70 \begin{datadesc}{__displayhook__}
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
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
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
76 \end{datadesc}
b44e77a12978 Add sys.excepthook.
Ka-Ping Yee <ping@zesty.ca>
parents: 15811
diff changeset
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
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
121 \deprecated {1.5}
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
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
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
274 This is a dictionary that maps module names to modules which have
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
275 already been loaded. This can be manipulated to force reloading of
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
276 modules and other tricks. Note that removing a module from this
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
277 dictionary is \emph{not} the same as calling
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
278 \function{reload()}\bifuncindex{reload} on the corresponding module
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
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
b85a675b6503 New index entries.
Fred Drake <fdrake@acm.org>
parents: 7759
diff changeset
318 \index{interpreter prompts}
b85a675b6503 New index entries.
Fred Drake <fdrake@acm.org>
parents: 7759
diff changeset
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
23f040317828 cosmetics/typos
Guido van Rossum <guido@python.org>
parents: 2109
diff changeset
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
4ca9aced5503 Fix a few typos
Andrew M. Kuchling <amk@amk.ca>
parents: 18694
diff changeset
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
4ca9aced5503 Fix a few typos
Andrew M. Kuchling <amk@amk.ca>
parents: 18694
diff changeset
357 importing a module, if called as \code{sys.setdlopenflags(0)}. To
4ca9aced5503 Fix a few typos
Andrew M. Kuchling <amk@amk.ca>
parents: 18694
diff changeset
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
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
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
7f4a503ce58b Logical markup.
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
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}