2. Using the Python Interpreter — Python 3.14.3 documentation 19.02.
26, 18:01
2. Using the Python Interpreter
Table of Contents
2. Using the Python Interpreter
2.1.
[Link] the Interpreter
Invoking the Interpreter
2.1.1. Argument Passing
2.1.2. Interactive Mode
The Python interpreter is usually installed as /usr/local/bin/python3.14 on those
2.2. The Interpreter and Its Environment
machines
2.2.1. where
Source it is available;
Code Encoding putting /usr/local/bin in your Unix shell’s search path
makes it possible to start it by typing the command:
Previous topic
1.python3.14
Whetting Your Appetite
Next topic
to the shell. [1] Since the choice of the directory where the interpreter lives is an installa-
3. Anoption,
tion Informalother
Introduction
placestoare
Python
possible; check with your local Python guru or system ad-
ministrator. (E.g., /usr/local/python is a popular alternative location.)
This page
On Windows
Report a bug machines where you have installed Python from the Microsoft Store, the
Improve this page
python3.14 command will be available. If you have the [Link] launcher installed, you
Show source
can use the py command. See Python install manager for other ways to launch Python.
« Unix, Control-Z on Windows) at the primary
Typing an end-of-file character (Control-D on
prompt causes the interpreter to exit with a zero exit status. If that doesn’t work, you can
exit the interpreter by typing the following command: quit() .
The interpreter’s line-editing features include interactive editing, history substitution and
code completion on most systems. Perhaps the quickest check to see whether command
line editing is supported is typing a word in on the Python prompt, then pressing Left ar-
row (or Control-b). If the cursor moves, you have command line editing; see Appendix
Interactive Input Editing and History Substitution for an introduction to the keys. If noth-
ing appears to happen, or if a sequence like ^[[D or ^B appears, command line editing
isn’t available; you’ll only be able to use backspace to remove characters from the current
line.
The interpreter operates somewhat like the Unix shell: when called with standard input
connected to a tty device, it reads and executes commands interactively; when called
with a file name argument or with a file as standard input, it reads and executes a script
from that file.
A second way of starting the interpreter is python -c command [arg] ... , which ex-
ecutes the statement(s) in command, analogous to the shell’s -c option. Since Python
[Link] Page 1 of 4
2. Using the Python Interpreter — Python 3.14.3 documentation 19.02.26, 18:01
statements often contain spaces or other characters that are special to the shell, it is
usually advised to quote command in its entirety.
Some Python modules are also useful as scripts. These can be invoked using python -m
module [arg] ... , which executes the source file for module as if you had spelled out
its full name on the command line.
When a script file is used, it is sometimes useful to be able to run the script and enter in-
teractive mode afterwards. This can be done by passing -i before the script.
All command line options are described in Command line and environment.
2.1.1. Argument Passing
When known to the interpreter, the script name and additional arguments thereafter are
turned into a list of strings and assigned to the argv variable in the sys module. You can
access this list by executing import sys . The length of the list is at least one; when no
script and no arguments are given, [Link][0] is an empty string. When the script
name is given as '-' (meaning standard input), [Link][0] is set to '-' . When -c
command is used, [Link][0] is set to '-c' . When -m module is used, [Link][0]
is set to the full name of the located module. Options found after -c command or -m
module are not consumed by the Python interpreter’s option processing but left in
[Link] for the command or module to handle.
2.1.2. Interactive Mode
When commands are read from a tty, the interpreter is said to be in interactive mode. In
this mode it prompts for the next command with the primary prompt, usually three
greater-than signs ( >>> ); for continuation lines it prompts with the secondary prompt, by
default three dots ( ... ). The interpreter prints a welcome message stating its version
number and a copyright notice before printing the first prompt:
$ python3.14
Python 3.14 (default, April 4 2024, 09:25:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Continuation lines are needed when entering a multi-line construct. As an example, take a
[Link] Page 2 of 4
2. Using the Python Interpreter — Python 3.14.3 documentation 19.02.26, 18:01
look at this if statement:
>>> the_world_is_flat = True
>>> if the_world_is_flat:
... print("Be careful not to fall off!")
...
Be careful not to fall off!
For more on interactive mode, see Interactive Mode.
2.2. The Interpreter and Its Environment
2.2.1. Source Code Encoding
By default, Python source files are treated as encoded in UTF-8. In that encoding, char-
acters of most languages in the world can be used simultaneously in string literals, identi-
fiers and comments — although the standard library only uses ASCII characters for iden-
tifiers, a convention that any portable code should follow. To display all these characters
properly, your editor must recognize that the file is UTF-8, and it must use a font that
supports all the characters in the file.
To declare an encoding other than the default one, a special comment line should be
added as the first line of the file. The syntax is as follows:
# -*- coding: encoding -*-
where encoding is one of the valid codecs supported by Python.
For example, to declare that Windows-1252 encoding is to be used, the first line of your
source code file should be:
# -*- coding: cp1252 -*-
One exception to the first line rule is when the source code starts with a UNIX “shebang”
line. In this case, the encoding declaration should be added as the second line of the file.
For example:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
[Link] Page 3 of 4
2. Using the Python Interpreter — Python 3.14.3 documentation 19.02.26, 18:01
Footnotes
[1] On Unix, the Python 3.x interpreter is by default not installed with the executable
named python , so that it does not conflict with a simultaneously installed Python 2.x
executable.
[Link] Page 4 of 4