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.1.1. File menu

New file
create a new file 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 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 current window (asks to save if unsaved)
Exit
close all windows and quit IDLE (asks to save if unsaved)

24.6.1.2. Edit menu

Undo
Undo last change to current window (max 1000 changes)
Redo
Redo last undone change to current window
剪切
Copy selection into system-wide clipboard; then delete selection
拷贝
Copy selection into system-wide clipboard
粘贴
Insert system-wide clipboard into window
选择所有
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

24.6.1.3. Windows menu

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).

24.6.1.4. Debug menu

  • in the Python Shell window only
Go to file/line
Look around the insert point for a filename and line number, open the file, and show the line. Useful to view the source lines referenced in an exception traceback.
Debugger
Run commands in the shell under the debugger.
Stack viewer
Show the stack traceback of the last exception.
Auto-open Stack Viewer
Open stack viewer on traceback.

24.6.1.5. Edit context menu

  • Right-click in Edit window (Control-click on OS X)
剪切
Copy selection into system-wide clipboard; then delete selection
拷贝
Copy selection into system-wide clipboard
粘贴
Insert system-wide clipboard into window
Set Breakpoint
Sets a breakpoint. Breakpoints are only enabled when the debugger is open.
Clear Breakpoint
Clears the breakpoint on that line.

24.6.1.6. Shell context menu

  • Right-click in Python Shell window (Control-click on OS X)
剪切
Copy selection into system-wide clipboard; then delete selection
拷贝
Copy selection into system-wide clipboard
粘贴
Insert system-wide clipboard into window
Go to file/line
Same as in Debug menu.

24.6.2. Basic editing and navigation

  • Backspace deletes to the left; Del deletes to the right
  • Arrow keys and Page 向上 / Page Down to move around
  • 首页 / End go to begin/end of line
  • C-Home / C-End go to begin/end of file
  • 某些 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
  • 返回 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] 章节在 config.txt .

Python syntax colors:
关键词
orange
字符串
green
注释
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 ;若 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.

此外, 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:

  1. -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:...] ,采用 sys.argv[0] 设为 '-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 .