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)
- New window
- create a new editing window
- Open...
- open an existing file
- Open module...
- open an existing module (searches sys.path)
- Class browser
- show classes and methods in current file
- Path browser
- show sys.path directories, modules, classes and methods
- Save
- save current window to the associated file (unsaved windows have a * before and
after the window title)
- Save As...
- save current window to new file, which becomes the associated file
- Save Copy As...
- save current window to different file without changing the associated file
- Close
- close current window (asks to save if unsaved)
- Exit
- close all windows and quit IDLE (asks to save if unsaved)
- Undo
- Undo last change to current window (max 1000 changes)
- Redo
- Redo last undone change to current window
- Cut
- Copy selection into system-wide clipboard; then delete selection
- Copy
- Copy selection into system-wide clipboard
- Paste
- Insert system-wide clipboard into window
- Select All
- Select the entire contents of the edit buffer
- Find...
- Open a search dialog box with many options
- Find again
- Repeat last search
- Find selection
- Search for the string in the selection
- Find in Files...
- Open a search dialog box for searching files
- Replace...
- Open a search-and-replace dialog box
- Go to line
- Ask for a line number and show that line
- Indent region
- Shift selected lines right 4 spaces
- Dedent region
- Shift selected lines left 4 spaces
- Comment out region
- Insert ## in front of selected lines
- Uncomment region
- Remove leading # or ## from selected lines
- Tabify region
- Turns leading stretches of spaces into tabs
- Untabify region
- Turn all tabs into the right number of spaces
- Expand word
- Expand the word you have typed to match another word in the same buffer; repeat
to get a different expansion
- Format Paragraph
- Reformat the current blank-line-separated paragraph
- Import module
- Import or reload the current module
- Run script
- Execute the current file in the __main__ namespace
- Zoom Height
- toggles the window between normal size (24x80) and maximum height.
The rest of this menu lists the names of all open windows; select one to bring
it to the foreground (deiconifying it if necessary).
- Go to file/line
- look around the insert point for a filename and linenumber, open the file, and
show the line.
- Open stack viewer
- show the stack traceback of the last exception
- Debugger toggle
- Run commands in the shell under the debugger
- JIT Stack viewer toggle
- Open stack viewer on traceback
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:
- 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.