python(1)
PYTHON(1) USER COMMANDS PYTHON(1)
NAME
python - an interpreted, interactive, object-oriented pro-
gramming language
SYNOPSIS
python [ -B ] [ -d ] [ -E ] [ -h ] [ -i ] [ -m module-name ]
[ -O ] [ -OO ] [ -R ] [ -Q argument ] [ -s ] [ -S ] [
-t ] [ -u ]
[ -v ] [ -V ] [ -W argument ] [ -x ] [ -3 ] [ -? ]
[ -c command | script | - ] [ arguments ]
DESCRIPTION
Python is an interpreted, interactive, object-oriented pro-
gramming language that combines remarkable power with very
clear syntax. For an introduction to programming in Python,
see the Python Tutorial. The Python Library Reference docu-
ments 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. (These documents may be located via the INTER-
NET RESOURCES below; they may be installed on your system as
well.)
Python's basic power can be extended with your own modules
written in C or C++. On most systems such modules may be
dynamically loaded. Python is also adaptable as an exten-
sion language for existing applications. See the internal
documentation for hints.
Documentation for installed Python modules and packages can
be viewed by running the pydoc program.
COMMAND LINE OPTIONS
-B Don't write .py[co] files on import. See also PYTHON-
DONTWRITEBYTECODE.
-c command
Specify the command to execute (see next section).
This terminates the option list (following options are
passed as arguments to the command).
-d Turn on parser debugging output (for wizards only,
depending on compilation options).
-E Ignore environment variables like PYTHONPATH and
PYTHONHOME that modify the behavior of the interpreter.
-h , -? , --help
Prints the usage for the interpreter executable and
exits.
-i When a script is passed as first argument or the -c
Last change: 1
PYTHON(1) USER COMMANDS PYTHON(1)
option is used, enter interactive mode after executing
the script or the 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.
-m module-name
Searches sys.path for the named module and runs the
corresponding .py file as a script.
-O Turn on basic optimizations. This changes the filename
extension for compiled (bytecode) files from .pyc to
.pyo. Given twice, causes docstrings to be discarded.
-OO Discard docstrings in addition to the -O optimizations.
-R Turn on "hash randomization", so that the hash() values
of str, bytes and datetime objects are "salted" with an
unpredictable pseudo-random value. Although they
remain constant within an individual Python process,
they are not predictable between repeated invocations
of Python.
This is intended to provide protection against a denial
of service caused by carefully-chosen inputs that
exploit the worst case performance of a dict construc-
tion, O(n^2) complexity. See
http://www.ocert.org/advisories/ocert-2011-003.html for
details.
-Q argument
Division control; see PEP 238. The argument must be
one of "old" (the default, int/int and long/long return
an int or long), "new" (new division semantics, i.e.
int/int and long/long returns a float), "warn" (old
division semantics with a warning for int/int and
long/long), or "warnall" (old division semantics with a
warning for all use of the division operator). For a
use of "warnall", see the Tools/scripts/fixdiv.py
script.
-s Don't add user site directory to sys.path.
-S Disable the import of the module site and the site-
dependent manipulations of sys.path that it entails.
-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.
-u Force stdin, stdout and stderr to be totally
Last change: 2
PYTHON(1) USER COMMANDS PYTHON(1)
unbuffered.
On systems where it matters, also put stdin, stdout
and stderr in binary mode. Note that there is internal
buffering in xreadlines(), readlines() and file-object
iterators ("for line in sys.stdin") which is not influ-
enced by this option. To work around this, you will
want to use "sys.stdin.readline()" inside a "while 1:"
loop.
-v Print a message each time a module is initialized,
showing the place (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.
-V , --version
Prints the Python version number of the executable and
exits.
-W argument
Warning control. Python sometimes prints warning mes-
sage to sys.stderr. A typical warning message has the
following form: file:line: category: By default, each
warning is printed once for each source line where it
occurs. This option controls how often warnings are
printed. Multiple -W options may be given; when a
warning matches more than one option, the action for
the last matching option is performed. Invalid -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 warnings module.
The simplest form of argument is one of the following
action strings (or a unique abbreviation): ignore to
ignore all warnings; default to explicitly request the
default behavior (printing each warning once per source
line); 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, such as inside a
loop); module to print each warning only the first time
it occurs in each module; once to print each warning
only the first time it occurs in the program; or error
to raise an exception instead of printing a warning
message.
The full form of argument is action:message:category:
Here, 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 message field matches the start of the warning
Last change: 3
PYTHON(1) USER COMMANDS PYTHON(1)
message printed; this match is case-insensitive. The
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 module field matches the (fully-
qualified) module name; this match is case-sensitive.
The line field matches the line number, where zero
matches all line numbers and is thus equivalent to an
omitted line number.
-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!
-3 Warn about Python 3.x incompatibilities that 2to3 can-
not trivially fix.
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 script from that
file; when called with -c command, it executes the Python
statement(s) given as command. Here command may contain
multiple statements separated by newlines. Leading whi-
tespace is significant in Python statements! In non-
interactive mode, the entire input is parsed before it is
executed.
If available, the script name and additional arguments
thereafter are passed to the script in the Python variable
sys.argv, which is a list of strings (you must first import
sys to be able to access it). If no script name is given,
sys.argv[0] is an empty string; if -c is used, sys.argv[0]
contains the string '-c'. Note that options interpreted by
the Python interpreter itself are not placed in sys.argv.
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 sys.ps1
or 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 Keyboard-
Interrupt exception; other UNIX signals are not caught
(except that SIGPIPE is sometimes ignored, in favor of the
IOError exception). Error messages are written to stderr.
Last change: 4
PYTHON(1) USER COMMANDS PYTHON(1)
FILES AND DIRECTORIES
These are subject to difference depending on local installa-
tion 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
/usr/local.
${exec_prefix}/bin/python
Recommended location of the interpreter.
${prefix}/lib/python<version>
${exec_prefix}/lib/python<version>
Recommended locations of the directories containing the
standard modules.
${prefix}/include/python<version>
${exec_prefix}/include/python<version>
Recommended locations of the directories containing the
include files needed for developing Python extensions
and embedding the interpreter.
~/.pythonrc.py
User-specific initialization file loaded by the user
module; not used by default or by most applications.
ENVIRONMENT VARIABLES
PYTHONHOME
Change the location of the standard Python libraries.
By default, the libraries are searched in
${prefix}/lib/python<version> and
${exec_prefix}/lib/python<version>, where ${prefix} and
${exec_prefix} are installation-dependent directories,
both defaulting to /usr/local. When $PYTHONHOME is set
to a single directory, its value replaces both ${pre-
fix} and ${exec_prefix}. To specify different values
for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.
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-existent
directories are silently ignored. The default search
path is installation dependent, but generally begins
with ${prefix}/lib/python<version> (see PYTHONHOME
above). The default search path is always appended to
$PYTHONPATH. If a script argument is given, the direc-
tory containing the script is inserted in the path in
front of $PYTHONPATH. The search path can be manipu-
lated from within a Python program as the variable
sys.path.
PYTHONSTARTUP
Last change: 5
PYTHON(1) USER COMMANDS PYTHON(1)
If this is the name of a readable file, the Python com-
mands 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 ses-
sion. You can also change the prompts sys.ps1 and
sys.ps2 in this file.
PYTHONY2K
Set this to a non-empty string to cause the time module
to require dates specified as strings to include 4-
digit years, otherwise 2-digit years are converted
based on rules described in the time module documenta-
tion.
PYTHONOPTIMIZE
If this is set to a non-empty string it is equivalent
to specifying the -O option. If set to an integer, it
is equivalent to specifying -O multiple times.
PYTHONDEBUG
If this is set to a non-empty string it is equivalent
to specifying the -d option. If set to an integer, it
is equivalent to specifying -d multiple times.
PYTHONDONTWRITEBYTECODE
If this is set to a non-empty string it is equivalent
to specifying the -B option (don't try to write .py[co]
files).
PYTHONINSPECT
If this is set to a non-empty string it is equivalent
to specifying the -i option.
PYTHONIOENCODING
If this is set before running the interpreter, it over-
rides the encoding used for stdin/stdout/stderr, in the
syntax encodingname:errorhandler The errorhandler part
is optional and has the same meaning as in str.encode.
For stderr, the errorhandler
part is ignored; the handler will always be
'backslashreplace'.
PYTHONNOUSERSITE
If this is set to a non-empty string it is equivalent
to specifying the -s option (Don't add the user site
directory to sys.path).
PYTHONUNBUFFERED
If this is set to a non-empty string it is equivalent
to specifying the -u option.
Last change: 6
PYTHON(1) USER COMMANDS PYTHON(1)
PYTHONVERBOSE
If this is set to a non-empty string it is equivalent
to specifying the -v option. If set to an integer, it
is equivalent to specifying -v multiple times.
PYTHONWARNINGS
If this is set to a comma-separated string it is
equivalent to specifying the -W option for each
separate value.
PYTHONHASHSEED
If this variable is set to "random", the effect is the
same as specifying the -R option: a random value is
used to seed the hashes of str, bytes and datetime
objects.
If PYTHONHASHSEED is set to an integer value, it is
used as a fixed seed for generating the hash() of the
types covered by the hash randomization. Its purpose
is to allow repeatable hashing, such as for selftests
for the interpreter itself, or to allow a cluster of
python processes to share hash values.
The integer must be a decimal number in the range
[0,4294967295]. Specifying the value 0 will lead to
the same hash values as when hash randomization is dis-
abled.
AUTHOR
The Python Software Foundation: https://www.python.org/psf/
INTERNET RESOURCES
Main website: https://www.python.org/
Documentation: https://docs.python.org/2/
Developer resources: https://docs.python.org/devguide/
Downloads: https://www.python.org/downloads/
Module repository: https://pypi.python.org/
Newsgroups: comp.lang.python, comp.lang.python.announce
LICENSING
Python is distributed under an Open Source license. See the
file "LICENSE" in the Python source distribution for infor-
mation on terms & conditions for accessing and otherwise
using Python and for a DISCLAIMER OF ALL WARRANTIES.
Last change: 7
Man(1) output converted with
man2html