python.man 10.1 KB
Newer Older
1
.TH PYTHON "1" "5 September, 2000"
Guido van Rossum's avatar
Guido van Rossum committed
2 3 4 5 6 7 8 9 10 11 12
.SH NAME
python \- an interpreted, interactive, object-oriented programming language
.SH SYNOPSIS
.B python
[
.B \-d
]
[
.B \-i
]
[
13 14 15 16 17 18
.B \-O
]
[
.B \-S
]
[
Guido van Rossum's avatar
Guido van Rossum committed
19 20 21
.B \-t
]
[
22
.B \-u
Guido van Rossum's avatar
Guido van Rossum committed
23 24 25 26
]
[
.B \-v
]
Guido van Rossum's avatar
Guido van Rossum committed
27
[
28
.B \-x
29
]
30 31 32 33 34 35
[
.B \-h
]
[
.B \-V
]
36 37 38 39
[
.B \-W
.I argument
]
40 41
.br
       [
Guido van Rossum's avatar
Guido van Rossum committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
.B \-c
.I command
|
.I script
|
\-
]
[
.I arguments
]
.SH DESCRIPTION
Python is an interpreted, interactive, object-oriented programming
language that combines remarkable power with very clear syntax.
For an introduction to programming in Python you are referred to the
Python Tutorial.
The Python Library Reference documents built-in and standard types,
constants, functions and modules.
Finally, the Python Reference Manual describes the syntax and
semantics of the core language in (perhaps too) much detail.
61 62
(These documents may be located via the
.B "INTERNET RESOURCES"
63
below; they may be installed on your system as well.)
Guido van Rossum's avatar
Guido van Rossum committed
64 65 66
.PP
Python's basic power can be extended with your own modules written in
C or C++.
67
On most systems such modules may be dynamically loaded.
Guido van Rossum's avatar
Guido van Rossum committed
68 69 70 71 72 73 74 75
Python is also adaptable as an extension language for existing
applications.
See the internal documentation for hints.
.SH COMMAND LINE OPTIONS
.TP
.B \-d
Turn on parser debugging output (for wizards only, depending on
compilation options).
76
.TP
Guido van Rossum's avatar
Guido van Rossum committed
77 78 79
.B \-i
When a script is passed as first argument or the \fB\-c\fP option is
used, enter interactive mode after executing the script or the
80 81 82
command.  It does not read the $PYTHONSTARTUP file.  This can be
useful to inspect global variables or a stack trace when a script
raises an exception.
Guido van Rossum's avatar
Guido van Rossum committed
83
.TP
84 85 86 87
.B \-O
Turn on basic optimizations.  This changes the filename extension for
compiled (bytecode) files from
.I .pyc
88
to \fI.pyo\fP.  Given twice, causes docstrings to be discarded.
89 90 91 92 93 94 95 96
.TP
.B \-S
Disable the import of the module
.I site
and the site-dependent manipulations of
.I sys.path
that it entails.
.TP
Guido van Rossum's avatar
Guido van Rossum committed
97 98 99 100 101
.B \-t
Issue a warning when a source file mixes tabs and spaces for
indentation in a way that makes it depend on the worth of a tab
expressed in spaces.  Issue an error when the option is given twice.
.TP
102
.B \-u
103
Force stdin, stdout and stderr to be totally unbuffered.
Guido van Rossum's avatar
Guido van Rossum committed
104 105 106
.TP
.B \-v
Print a message each time a module is initialized, showing the place
107 108 109 110
(filename or built-in module) from which it is loaded.  When given
twice, print a message for each file that is checked for when 
searching for a module.  Also provides information on module cleanup
at exit.
Guido van Rossum's avatar
Guido van Rossum committed
111
.TP
Guido van Rossum's avatar
Guido van Rossum committed
112 113 114 115 116
.B \-x
Skip the first line of the source.  This is intended for a DOS
specific hack only.  Warning: the line numbers in error messages will
be off by one!
.TP
117 118 119 120 121 122
.B \-h
Prints the usage for the interpreter executable and exits.
.TP
.B \-V
Prints the Python version number of the executable and exits.
.TP
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
.BI "\-W " argument
Warning control.  Python sometimes prints warning message to
.IR sys.stderr .
A typical warning message has the following form:
.IB file ":" line ": " category ": " message.
By default, each warning is printed once for each source line where it
occurs.  This option controls how often warnings are printed.
Multiple
.B \-W
options may be given; when a warning matches more than one
option, the action for the last matching option is performed.
Invalid
.B \-W
options are ignored (a warning message is printed about invalid
options when the first warning is issued).  Warnings can also be
controlled from within a Python program using the
.I warnings
module.

The simplest form of
.I argument
is one of the following
.I action
strings (or a unique abbreviation):
.B ignore
to ignore all warnings;
.B default
to explicitly request the default behavior (printing each warning once
per source line);
.B all
to print a warning each time it occurs (this may generate many
messages if a warning is triggered repeatedly for the same source
line, e.g. inside a loop);
.B module
to print each warning only only the first time it occurs in each
module;
.B once
to print each warning only the first time it occurs in the program; or
.B error
to raise an exception instead of printing a warning message.

The full form of
.I argument
is
.IB action : message : category : module : line.
Here,
.I action
is as explained above but only applies to messages that match the
remaining fields.  Empty fields match all values; trailing empty
fields may be omitted.  The
.I message
field matches the start of the warning message printed; this match is
case-insensitive.  The
.I category
field matches the warning category.  This must be a class name; the
match test whether the actual warning category of the message is a
subclass of the specified warning category.  The full class name must
be given.  The
.I module
field matches the (fully-qualified) module name; this match is
case-sensitive.  The
.I line
field matches the line number, where zero matches all line numbers and
is thus equivalent to an omitted line number.
.TP
Guido van Rossum's avatar
Guido van Rossum committed
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
.BI "\-c " command
Specify the command to execute (see next section).
This terminates the option list (following options are passed as
arguments to the command).
.SH INTERPRETER INTERFACE
The interpreter interface resembles that of the UNIX shell: when
called with standard input connected to a tty device, it prompts for
commands and executes them until an EOF is read; when called with a
file name argument or with a file as standard input, it reads and
executes a
.I script
from that file;
when called with
.B \-c
.I command,
it executes the Python statement(s) given as
.I command.
Here
.I command
may contain multiple statements separated by newlines.
Leading whitespace is significant in Python statements!
In non-interactive mode, the entire input is parsed befored it is
executed.
.PP
If available, the script name and additional arguments thereafter are
passed to the script in the Python variable
.I sys.argv ,
which is a list of strings (you must first
.I import sys
to be able to access it).
If no script name is given,
219 220
.I sys.argv[0]
is an empty string; if
Guido van Rossum's avatar
Guido van Rossum committed
221 222 223 224 225
.B \-c
is used,
.I sys.argv[0]
contains the string
.I '-c'.
226
Note that options interpreted by the Python interpreter itself
Guido van Rossum's avatar
Guido van Rossum committed
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247
are not placed in
.I sys.argv.
.PP
In interactive mode, the primary prompt is `>>>'; the second prompt
(which appears when a command is not complete) is `...'.
The prompts can be changed by assignment to
.I sys.ps1
or
.I sys.ps2.
The interpreter quits when it reads an EOF at a prompt.
When an unhandled exception occurs, a stack trace is printed and
control returns to the primary prompt; in non-interactive mode, the
interpreter exits after printing the stack trace.
The interrupt signal raises the
.I Keyboard\%Interrupt
exception; other UNIX signals are not caught (except that SIGPIPE is
sometimes ignored, in favor of the
.I IOError
exception).  Error messages are written to stderr.
.SH FILES AND DIRECTORIES
These are subject to difference depending on local installation
248 249 250 251
conventions; ${prefix} and ${exec_prefix} are installation-dependent
and should be interpreted as for GNU software; they may be the same.
The default for both is \fI/usr/local\fP.
.IP \fI${exec_prefix}/bin/python\fP
Guido van Rossum's avatar
Guido van Rossum committed
252
Recommended location of the interpreter.
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272
.PP
.I ${prefix}/lib/python<version>
.br
.I ${exec_prefix}/lib/python<version>
.RS
Recommended locations of the directories containing the standard
modules.
.RE
.PP
.I ${prefix}/include/python<version>
.br
.I ${exec_prefix}/include/python<version>
.RS
Recommended locations of the directories containing the include files
needed for developing Python extensions and embedding the
interpreter.
.RE
.IP \fI~/.pythonrc.py\fP
User-specific initialization file loaded by the \fIuser\fP module;
not used by default or by most applications.
Guido van Rossum's avatar
Guido van Rossum committed
273
.SH ENVIRONMENT VARIABLES
274 275
.IP PYTHONHOME
Change the location of the standard Python libraries.  By default, the
276 277
libraries are searched in ${prefix}/lib/python<version> and
${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix}
278
are installation-dependent directories, both defaulting to
279 280 281
\fI/usr/local\fP.  When $PYTHONHOME is set to a single directory, its value
replaces both ${prefix} and ${exec_prefix}.  To specify different values
for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.
Guido van Rossum's avatar
Guido van Rossum committed
282 283 284 285 286
.IP PYTHONPATH
Augments the default search path for module files.
The format is the same as the shell's $PATH: one or more directory
pathnames separated by colons.
Non-existant directories are silently ignored.
287
The default search path is installation dependent, but generally
288
begins with ${prefix}/lib/python<version> (see PYTHONHOME above).
289
The default search path is always appended to $PYTHONPATH.
290 291
If a script argument is given, the directory containing the script is
inserted in the path in front of $PYTHONPATH.
Guido van Rossum's avatar
Guido van Rossum committed
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312
The search path can be manipulated from within a Python program as the
variable
.I sys.path .
.IP PYTHONSTARTUP
If this is the name of a readable file, the Python commands in that
file are executed before the first prompt is displayed in interactive
mode.
The file is executed in the same name space where interactive commands
are executed so that objects defined or imported in it can be used
without qualification in the interactive session.
You can also change the prompts
.I sys.ps1
and
.I sys.ps2
in this file.
.IP PYTHONDEBUG
If this is set to a non-empty string it is equivalent to specifying
the \fB\-d\fP option.
.IP PYTHONINSPECT
If this is set to a non-empty string it is equivalent to specifying
the \fB\-i\fP option.
313
.IP PYTHONUNBUFFERED
Guido van Rossum's avatar
Guido van Rossum committed
314
If this is set to a non-empty string it is equivalent to specifying
315
the \fB\-u\fP option.
Guido van Rossum's avatar
Guido van Rossum committed
316 317 318 319 320 321 322
.IP PYTHONVERBOSE
If this is set to a non-empty string it is equivalent to specifying
the \fB\-v\fP option.
.SH AUTHOR
.nf
Guido van Rossum
.PP
323
E-mail: guido@python.org
Guido van Rossum's avatar
Guido van Rossum committed
324
.fi
325 326
.PP
And a cast of thousands.
327
.SH INTERNET RESOURCES
328
Main website: http://www.python.org
329
.br
330 331 332 333 334 335 336 337 338
Community website: http://starship.python.net
.br
Developer resources:
.br
  http://sourceforge.net/project/?group_id=5470
.br
FTP: ftp://ftp.python.org/pub/python
.br
Module repository: http://www.vex.net/parnassus/
339
.br
340
Newsgroups: comp.lang.python, comp.lang.python.announce
341 342 343 344 345
.SH LICENSING
Python is distributed under an Open Source license.  See the file
"LICENSE" in the Python source distribution for information on terms &
conditions for accessing and otherwise using Python and for a
DISCLAIMER OF ALL WARRANTIES.