mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			568 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			568 lines
		
	
	
	
		
			18 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH PYTHON "1"
 | |
| 
 | |
| .\" To view this file while editing, run it through groff:
 | |
| .\"   groff -Tascii -man python.man | less
 | |
| 
 | |
| .SH NAME
 | |
| python \- an interpreted, interactive, object-oriented programming language
 | |
| .SH SYNOPSIS
 | |
| .B python
 | |
| [
 | |
| .B \-B
 | |
| ]
 | |
| [
 | |
| .B \-b
 | |
| ]
 | |
| [
 | |
| .B \-d
 | |
| ]
 | |
| [
 | |
| .B \-E
 | |
| ]
 | |
| [
 | |
| .B \-h
 | |
| ]
 | |
| [
 | |
| .B \-i
 | |
| ]
 | |
| [
 | |
| .B \-I
 | |
| ]
 | |
| .br
 | |
|        [
 | |
| .B \-m
 | |
| .I module-name
 | |
| ]
 | |
| [
 | |
| .B \-q
 | |
| ]
 | |
| [
 | |
| .B \-O
 | |
| ]
 | |
| [
 | |
| .B \-OO
 | |
| ]
 | |
| [
 | |
| .B \-s
 | |
| ]
 | |
| [
 | |
| .B \-S
 | |
| ]
 | |
| [
 | |
| .B \-u
 | |
| ]
 | |
| .br
 | |
|        [
 | |
| .B \-v
 | |
| ]
 | |
| [
 | |
| .B \-V
 | |
| ]
 | |
| [
 | |
| .B \-W
 | |
| .I argument
 | |
| ]
 | |
| [
 | |
| .B \-x
 | |
| ]
 | |
| [
 | |
| [
 | |
| .B \-X
 | |
| .I option
 | |
| ]
 | |
| .B \-?
 | |
| ]
 | |
| .br
 | |
|        [
 | |
| .B \--check-hash-based-pycs
 | |
| .I default
 | |
| |
 | |
| .I always
 | |
| |
 | |
| .I never
 | |
| ]
 | |
| .br
 | |
|        [
 | |
| .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, see 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.
 | |
| (These documents may be located via the
 | |
| .B "INTERNET RESOURCES"
 | |
| below; they may be installed on your system as well.)
 | |
| .PP
 | |
| 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 extension language for existing
 | |
| applications.
 | |
| See the internal documentation for hints.
 | |
| .PP
 | |
| Documentation for installed Python modules and packages can be
 | |
| viewed by running the
 | |
| .B pydoc
 | |
| program.
 | |
| .SH COMMAND LINE OPTIONS
 | |
| .TP
 | |
| .B \-B
 | |
| Don't write
 | |
| .I .pyc
 | |
| files on import. See also PYTHONDONTWRITEBYTECODE.
 | |
| .TP
 | |
| .B \-b
 | |
| Issue warnings about str(bytes_instance), str(bytearray_instance)
 | |
| and comparing bytes/bytearray with str. (-bb: issue errors)
 | |
| .TP
 | |
| .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).
 | |
| .TP
 | |
| .BI "\-\-check-hash-based-pycs " mode
 | |
| Configure how Python evaluates the up-to-dateness of hash-based .pyc files.
 | |
| .TP
 | |
| .B \-d
 | |
| Turn on parser debugging output (for expert only, depending on
 | |
| compilation options).
 | |
| .TP
 | |
| .B \-E
 | |
| Ignore environment variables like PYTHONPATH and PYTHONHOME that modify
 | |
| the behavior of the interpreter.
 | |
| .TP
 | |
| .B \-h ", " \-? ", "\-\-help
 | |
| Prints the usage for the interpreter executable and exits.
 | |
| .TP
 | |
| .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
 | |
| 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.
 | |
| .TP
 | |
| .B \-I
 | |
| Run Python in isolated mode. This also implies \fB\-E\fP and \fB\-s\fP. In
 | |
| isolated mode sys.path contains neither the script's directory nor the user's
 | |
| site-packages directory. All PYTHON* environment variables are ignored, too.
 | |
| Further restrictions may be imposed to prevent the user from injecting
 | |
| malicious code.
 | |
| .TP
 | |
| .BI "\-m " module-name
 | |
| Searches
 | |
| .I sys.path
 | |
| for the named module and runs the corresponding
 | |
| .I .py
 | |
| file as a script.
 | |
| .TP
 | |
| .B \-O
 | |
| Remove assert statements and any code conditional on the value of
 | |
| __debug__; augment the filename for compiled (bytecode) files by
 | |
| adding .opt-1 before the .pyc extension.
 | |
| .TP
 | |
| .B \-OO
 | |
| Do \fB-O\fP and also discard docstrings; change the filename for
 | |
| compiled (bytecode) files by adding .opt-2 before the .pyc extension.
 | |
| .TP
 | |
| .B \-q
 | |
| Do not print the version and copyright messages. These messages are
 | |
| also suppressed in non-interactive mode.
 | |
| .TP
 | |
| .B \-s
 | |
| Don't add user site directory to sys.path.
 | |
| .TP
 | |
| .B \-S
 | |
| Disable the import of the module
 | |
| .I site
 | |
| and the site-dependent manipulations of
 | |
| .I sys.path
 | |
| that it entails.  Also disable these manipulations if
 | |
| .I site
 | |
| is explicitly imported later.
 | |
| .TP
 | |
| .B \-u
 | |
| Force the stdout and stderr streams to be unbuffered.
 | |
| This option has no effect on the stdin stream.
 | |
| .TP
 | |
| .B \-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.
 | |
| .TP
 | |
| .B \-V ", " \-\-version
 | |
| Prints the Python version number of the executable and exits.  When given
 | |
| twice, print more information about the build.
 | |
| .TP
 | |
| .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, such as inside a loop);
 | |
| .B module
 | |
| to print each warning 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
 | |
| .BI "\-X " option
 | |
| Set implementation specific option. The following options are available:
 | |
| 
 | |
|     -X faulthandler: enable faulthandler
 | |
| 
 | |
|     -X showrefcount: output the total reference count and number of used
 | |
|         memory blocks when the program finishes or after each statement in the
 | |
|         interactive interpreter. This only works on debug builds
 | |
| 
 | |
|     -X tracemalloc: start tracing Python memory allocations using the
 | |
|         tracemalloc module. By default, only the most recent frame is stored in a
 | |
|         traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a
 | |
|         traceback limit of NFRAME frames
 | |
| 
 | |
|     -X importtime: show how long each import takes. It shows module name,
 | |
|         cumulative time (including nested imports) and self time (excluding
 | |
|         nested imports). Note that its output may be broken in multi-threaded
 | |
|         application. Typical usage is python3 -X importtime -c 'import asyncio'
 | |
| 
 | |
|     -X dev: enable CPython's "development mode", introducing additional runtime
 | |
|         checks which are too expensive to be enabled by default. It will not be
 | |
|         more verbose than the default if the code is correct: new warnings are
 | |
|         only emitted when an issue is detected. Effect of the developer mode:
 | |
|            * Add default warning filter, as -W default
 | |
|            * Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks() C function
 | |
|            * Enable the faulthandler module to dump the Python traceback on a crash
 | |
|            * Enable asyncio debug mode
 | |
|            * Set the dev_mode attribute of sys.flags to True
 | |
|            * io.IOBase destructor logs close() exceptions
 | |
| 
 | |
|     -X utf8: enable UTF-8 mode for operating system interfaces, overriding the default
 | |
|         locale-aware mode. -X utf8=0 explicitly disables UTF-8 mode (even when it would
 | |
|         otherwise activate automatically). See PYTHONUTF8 for more details
 | |
| 
 | |
|     -X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the
 | |
|          given directory instead of to the code tree.
 | |
| .TP
 | |
| .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!
 | |
| .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
 | |
| .IR command ,
 | |
| it executes the Python statement(s) given as
 | |
| .IR 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 before it is
 | |
| executed.
 | |
| .PP
 | |
| If available, the script name and additional arguments thereafter are
 | |
| passed to the script in the Python variable
 | |
| .IR 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,
 | |
| .I sys.argv[0]
 | |
| is an empty string; if
 | |
| .B \-c
 | |
| is used,
 | |
| .I sys.argv[0]
 | |
| contains the string
 | |
| .I '-c'.
 | |
| Note that options interpreted by the Python interpreter itself
 | |
| are not placed in
 | |
| .IR 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
 | |
| .IR 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
 | |
| 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
 | |
| Recommended location of the interpreter.
 | |
| .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
 | |
| .SH ENVIRONMENT VARIABLES
 | |
| .IP 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
 | |
| \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}.
 | |
| .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-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 directory containing the script is
 | |
| inserted in the path in front of $PYTHONPATH.
 | |
| The search path can be manipulated from within a Python program as the
 | |
| variable
 | |
| .IR sys.path .
 | |
| .IP PYTHONPLATLIBDIR
 | |
| Override sys.platlibdir.
 | |
| .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 PYTHONOPTIMIZE
 | |
| If this is set to a non-empty string it is equivalent to specifying
 | |
| the \fB\-O\fP option. If set to an integer, it is equivalent to
 | |
| specifying \fB\-O\fP multiple times.
 | |
| .IP PYTHONDEBUG
 | |
| If this is set to a non-empty string it is equivalent to specifying
 | |
| the \fB\-d\fP option. If set to an integer, it is equivalent to
 | |
| specifying \fB\-d\fP multiple times.
 | |
| .IP PYTHONDONTWRITEBYTECODE
 | |
| If this is set to a non-empty string it is equivalent to specifying
 | |
| the \fB\-B\fP option (don't try to write
 | |
| .I .pyc
 | |
| files).
 | |
| .IP PYTHONINSPECT
 | |
| If this is set to a non-empty string it is equivalent to specifying
 | |
| the \fB\-i\fP option.
 | |
| .IP PYTHONIOENCODING
 | |
| If this is set before running the interpreter, it overrides the encoding used
 | |
| for stdin/stdout/stderr, in the syntax
 | |
| .IB encodingname ":" errorhandler
 | |
| The
 | |
| .IB errorhandler
 | |
| part is optional and has the same meaning as in str.encode. For stderr, the
 | |
| .IB errorhandler
 | |
|  part is ignored; the handler will always be \'backslashreplace\'.
 | |
| .IP PYTHONNOUSERSITE
 | |
| If this is set to a non-empty string it is equivalent to specifying the
 | |
| \fB\-s\fP option (Don't add the user site directory to sys.path).
 | |
| .IP PYTHONUNBUFFERED
 | |
| If this is set to a non-empty string it is equivalent to specifying
 | |
| the \fB\-u\fP option.
 | |
| .IP PYTHONVERBOSE
 | |
| If this is set to a non-empty string it is equivalent to specifying
 | |
| the \fB\-v\fP option. If set to an integer, it is equivalent to
 | |
| specifying \fB\-v\fP multiple times.
 | |
| .IP PYTHONWARNINGS
 | |
| If this is set to a comma-separated string it is equivalent to
 | |
| specifying the \fB\-W\fP option for each separate value.
 | |
| .IP PYTHONHASHSEED
 | |
| If this variable is set to "random", a random value is used to seed the hashes
 | |
| of str and bytes 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 disable hash randomization.
 | |
| .IP PYTHONMALLOC
 | |
| Set the Python memory allocators and/or install debug hooks. The available
 | |
| memory allocators are
 | |
| .IR malloc
 | |
| and
 | |
| .IR pymalloc .
 | |
| The available debug hooks are
 | |
| .IR debug ,
 | |
| .IR malloc_debug ,
 | |
| and
 | |
| .IR pymalloc_debug .
 | |
| .IP
 | |
| When Python is compiled in debug mode, the default is
 | |
| .IR pymalloc_debug
 | |
| and the debug hooks are automatically used. Otherwise, the default is
 | |
| .IR pymalloc .
 | |
| .IP PYTHONMALLOCSTATS
 | |
| If set to a non-empty string, Python will print statistics of the pymalloc
 | |
| memory allocator every time a new pymalloc object arena is created, and on
 | |
| shutdown.
 | |
| .IP
 | |
| This variable is ignored if the
 | |
| .RB $ PYTHONMALLOC
 | |
| environment variable is used to force the
 | |
| .BR malloc (3)
 | |
| allocator of the C library, or if Python is configured without pymalloc support.
 | |
| .IP PYTHONASYNCIODEBUG
 | |
| If this environment variable is set to a non-empty string, enable the debug
 | |
| mode of the asyncio module.
 | |
| .IP PYTHONTRACEMALLOC
 | |
| If this environment variable is set to a non-empty string, start tracing
 | |
| Python memory allocations using the tracemalloc module.
 | |
| .IP
 | |
| The value of the variable is the maximum number of frames stored in a
 | |
| traceback of a trace. For example,
 | |
| .IB PYTHONTRACEMALLOC=1
 | |
| stores only the most recent frame.
 | |
| .IP PYTHONFAULTHANDLER
 | |
| If this environment variable is set to a non-empty string,
 | |
| .IR faulthandler.enable()
 | |
| is called at startup: install a handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS
 | |
| and SIGILL signals to dump the Python traceback.
 | |
| .IP
 | |
| This is equivalent to the \fB-X faulthandler\fP option.
 | |
| .IP PYTHONEXECUTABLE
 | |
| If this environment variable is set,
 | |
| .IB sys.argv[0]
 | |
| will be set to its value instead of the value got through the C runtime. Only
 | |
| works on Mac OS X.
 | |
| .IP PYTHONUSERBASE
 | |
| Defines the user base directory, which is used to compute the path of the user
 | |
| .IR site-packages
 | |
| directory and Distutils installation paths for
 | |
| .IR "python setup\.py install \-\-user" .
 | |
| .IP PYTHONPROFILEIMPORTTIME
 | |
| If this environment variable is set to a non-empty string, Python will
 | |
| show how long each import takes. This is exactly equivalent to setting
 | |
| \fB\-X importtime\fP on the command line.
 | |
| .IP PYTHONBREAKPOINT
 | |
| If this environment variable is set to 0, it disables the default debugger. It
 | |
| can be set to the callable of your debugger of choice.
 | |
| .SS Debug-mode variables
 | |
| Setting these variables only has an effect in a debug build of Python, that is,
 | |
| if Python was configured with the
 | |
| \fB\--with-pydebug\fP build option.
 | |
| .IP PYTHONTHREADDEBUG
 | |
| If this environment variable is set, Python will print threading debug info.
 | |
| .IP PYTHONDUMPREFS
 | |
| If this environment variable is set, Python will dump objects and reference
 | |
| counts still alive after shutting down the interpreter.
 | |
| .SH AUTHOR
 | |
| The Python Software Foundation: https://www.python.org/psf/
 | |
| .SH INTERNET RESOURCES
 | |
| Main website:  https://www.python.org/
 | |
| .br
 | |
| Documentation:  https://docs.python.org/
 | |
| .br
 | |
| Developer resources:  https://devguide.python.org/
 | |
| .br
 | |
| Downloads:  https://www.python.org/downloads/
 | |
| .br
 | |
| Module repository:  https://pypi.org/
 | |
| .br
 | |
| Newsgroups:  comp.lang.python, comp.lang.python.announce
 | |
| .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.
 | 
