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)

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

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.

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

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

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:

  1. If -e is used, arguments are files opened for editing and sys.argv reflects the arguments passed to IDLE itself.
  2. Otherwise, if -c is used, all arguments are placed in sys.argv[1:...], with sys.argv[0] set to '-c'.
  3. 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.