24.6. IDLE
IDLE is the Python IDE built with the tkinter GUI toolkit.
IDLE has the following features:
- coded in 100% pure Python, using the tkinter GUI toolkit
- cross-platform: works on Windows and Unix
- multi-window text editor with multiple undo, Python colorizing and many other
features, e.g. smart indent and call tips
- Python shell window (a.k.a. interactive interpreter)
- debugger (not complete, but you can set breakpoints, view and step)
24.6.2. Basic editing and navigation
- Backspace deletes to the left; Del deletes to the right
- Arrow keys and Page Up/Page Down to move around
- Home/End go to begin/end of line
- C-Home/C-End go to begin/end of file
- Some Emacs bindings may also work, including C-B,
C-P, C-A, C-E, C-D, C-L
24.6.2.1. Automatic indentation
After a block-opening statement, the next line is indented by 4 spaces (in the
Python Shell window by one tab). After certain keywords (break, return etc.)
the next line is dedented. In leading indentation, Backspace deletes up
to 4 spaces if they are there. Tab inserts 1-4 spaces (in the Python
Shell window one tab). See also the indent/dedent region commands in the edit
menu.
24.6.2.2. Python Shell window
- C-C interrupts executing command
- C-D sends end-of-file; closes window if typed at a >>> prompt
- Alt-p retrieves previous command matching what you have typed
- Alt-n retrieves next
- Return while on any previous command retrieves that command
- Alt-/ (Expand word) is also useful here
24.6.3. Syntax colors
The coloring is applied in a background “thread,” so you may occasionally see
uncolorized text. To change the color scheme, edit the [Colors] section in
config.txt.
- Python syntax colors:
- Keywords
- orange
- Strings
- green
- Comments
- red
- Definitions
- blue
- Shell colors:
- Console output
- brown
- stdout
- blue
- stderr
- dark green
- stdin
- black
24.6.4. Startup
Upon startup with the -s option, IDLE will execute the file referenced by
the environment variables IDLESTARTUP or PYTHONSTARTUP.
Idle first checks for IDLESTARTUP; if IDLESTARTUP is present the file
referenced is run. If IDLESTARTUP is not present, Idle checks for
PYTHONSTARTUP. Files referenced by these environment variables are
convenient places to store functions that are used frequently from the Idle
shell, or for executing import statements to import common modules.
In addition, Tk also loads a startup file if it is present. Note that the
Tk file is loaded unconditionally. This additional file is .Idle.py and is
looked for in the user’s home directory. Statements in this file will be
executed in the Tk namespace, so this file is not useful for importing functions
to be used from Idle’s Python shell.
24.6.4.1. Command line usage
idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
-c command run this command
-d enable debugger
-e edit mode; arguments are files to be edited
-s run $IDLESTARTUP or $PYTHONSTARTUP first
-t title set title of shell window
If there are arguments:
- If -e is used, arguments are files opened for editing and
sys.argv reflects the arguments passed to IDLE itself.
- Otherwise, if -c is used, all arguments are placed in
sys.argv[1:...], with sys.argv[0] set to '-c'.
- Otherwise, if neither -e nor -c is used, the first
argument is a script which is executed with the remaining arguments in
sys.argv[1:...] and sys.argv[0] set to the script name. If the script
name is ‘-‘, no script is executed but an interactive Python session is started;
the arguments are still available in sys.argv.