2007-08-15 11:28:01 -03:00
|
|
|
.. _idle:
|
|
|
|
|
2007-12-29 06:57:00 -04:00
|
|
|
IDLE
|
2007-08-15 11:28:01 -03:00
|
|
|
====
|
|
|
|
|
|
|
|
.. moduleauthor:: Guido van Rossum <guido@Python.org>
|
|
|
|
|
|
|
|
.. index::
|
2007-12-29 06:57:00 -04:00
|
|
|
single: IDLE
|
2007-08-15 11:28:01 -03:00
|
|
|
single: Python Editor
|
|
|
|
single: Integrated Development Environment
|
|
|
|
|
2008-05-16 14:37:53 -03:00
|
|
|
IDLE is the Python IDE built with the :mod:`tkinter` GUI toolkit.
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
IDLE has the following features:
|
|
|
|
|
2008-05-16 14:37:53 -03:00
|
|
|
* coded in 100% pure Python, using the :mod:`tkinter` GUI toolkit
|
2007-08-15 11:28:01 -03:00
|
|
|
|
2008-09-13 14:41:16 -03:00
|
|
|
* cross-platform: works on Windows and Unix
|
2007-08-15 11:28:01 -03:00
|
|
|
|
|
|
|
* 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)
|
|
|
|
|
|
|
|
|
|
|
|
Menus
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
|
|
File menu
|
|
|
|
^^^^^^^^^
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
.. index::
|
|
|
|
single: Class browser
|
|
|
|
single: Path browser
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
Edit menu
|
|
|
|
^^^^^^^^^
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
.. index::
|
|
|
|
single: Import module
|
|
|
|
single: Run script
|
|
|
|
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
Debug menu (in the Python Shell window only)
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
.. index::
|
|
|
|
single: stack viewer
|
|
|
|
single: debugger
|
|
|
|
|
|
|
|
|
|
|
|
Basic editing and navigation
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right
|
|
|
|
|
|
|
|
* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around
|
|
|
|
|
|
|
|
* :kbd:`Home`/:kbd:`End` go to begin/end of line
|
|
|
|
|
|
|
|
* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file
|
|
|
|
|
|
|
|
* Some :program:`Emacs` bindings may also work, including :kbd:`C-B`,
|
|
|
|
:kbd:`C-P`, :kbd:`C-A`, :kbd:`C-E`, :kbd:`C-D`, :kbd:`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, :kbd:`Backspace` deletes up
|
|
|
|
to 4 spaces if they are there. :kbd:`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
|
|
|
|
^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
* :kbd:`C-C` interrupts executing command
|
|
|
|
|
|
|
|
* :kbd:`C-D` sends end-of-file; closes window if typed at a ``>>>`` prompt
|
|
|
|
|
|
|
|
* :kbd:`Alt-p` retrieves previous command matching what you have typed
|
|
|
|
|
|
|
|
* :kbd:`Alt-n` retrieves next
|
|
|
|
|
|
|
|
* :kbd:`Return` while on any previous command retrieves that command
|
|
|
|
|
|
|
|
* :kbd:`Alt-/` (Expand word) is also useful here
|
|
|
|
|
|
|
|
.. index:: single: indentation
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
:file:`config.txt`.
|
|
|
|
|
|
|
|
Python syntax colors:
|
|
|
|
Keywords
|
|
|
|
orange
|
|
|
|
|
Merged revisions 68133-68134,68141-68142,68145-68146,68148-68149,68159-68162,68166,68171-68174,68179,68195-68196,68210,68214-68215,68217-68222 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68133 | antoine.pitrou | 2009-01-01 16:38:03 +0100 (Thu, 01 Jan 2009) | 1 line
fill in actual issue number in tests
........
r68134 | hirokazu.yamamoto | 2009-01-01 16:45:39 +0100 (Thu, 01 Jan 2009) | 2 lines
Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
file with `str' filename on Windows.
........
r68141 | benjamin.peterson | 2009-01-01 17:43:12 +0100 (Thu, 01 Jan 2009) | 1 line
fix highlighting
........
r68142 | benjamin.peterson | 2009-01-01 18:29:49 +0100 (Thu, 01 Jan 2009) | 2 lines
welcome to 2009, Python!
........
r68145 | amaury.forgeotdarc | 2009-01-02 01:03:54 +0100 (Fri, 02 Jan 2009) | 5 lines
#4801 _collections module fails to build on cygwin.
_PyObject_GC_TRACK is the macro version of PyObject_GC_Track,
and according to documentation it should not be used for extension modules.
........
r68146 | ronald.oussoren | 2009-01-02 11:44:46 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4472: "configure --enable-shared doesn't work on OSX"
........
r68148 | ronald.oussoren | 2009-01-02 11:48:31 +0100 (Fri, 02 Jan 2009) | 2 lines
Forgot to add a NEWS item in my previous checkin
........
r68149 | ronald.oussoren | 2009-01-02 11:50:48 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue4780
........
r68159 | ronald.oussoren | 2009-01-02 15:48:17 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue 1627952
........
r68160 | ronald.oussoren | 2009-01-02 15:52:09 +0100 (Fri, 02 Jan 2009) | 2 lines
Fix for issue r1737832
........
r68161 | ronald.oussoren | 2009-01-02 16:00:05 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 1149804
........
r68162 | ronald.oussoren | 2009-01-02 16:06:00 +0100 (Fri, 02 Jan 2009) | 3 lines
Fix for issue 4472 is incompatible with Cygwin, this patch
should fix that.
........
r68166 | benjamin.peterson | 2009-01-02 19:26:23 +0100 (Fri, 02 Jan 2009) | 1 line
document PyMemberDef
........
r68171 | georg.brandl | 2009-01-02 21:25:14 +0100 (Fri, 02 Jan 2009) | 3 lines
#4811: fix markup glitches (mostly remains of the conversion),
found by Gabriel Genellina.
........
r68172 | martin.v.loewis | 2009-01-02 21:32:55 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4075: Use OutputDebugStringW in Py_FatalError.
........
r68173 | martin.v.loewis | 2009-01-02 21:40:14 +0100 (Fri, 02 Jan 2009) | 2 lines
Issue #4051: Prevent conflict of UNICODE macros in cPickle.
........
r68174 | benjamin.peterson | 2009-01-02 21:47:27 +0100 (Fri, 02 Jan 2009) | 1 line
fix compilation on non-Windows platforms
........
r68179 | raymond.hettinger | 2009-01-02 22:26:45 +0100 (Fri, 02 Jan 2009) | 1 line
Issue #4615. Document how to use itertools for de-duping.
........
r68195 | georg.brandl | 2009-01-03 14:45:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove useless string literal.
........
r68196 | georg.brandl | 2009-01-03 15:29:53 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix indentation.
........
r68210 | georg.brandl | 2009-01-03 20:10:12 +0100 (Sat, 03 Jan 2009) | 2 lines
Set eol-style correctly for mp_distributing.py.
........
r68214 | georg.brandl | 2009-01-03 20:44:48 +0100 (Sat, 03 Jan 2009) | 2 lines
Make indentation consistent.
........
r68215 | georg.brandl | 2009-01-03 21:15:14 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix role name.
........
r68217 | georg.brandl | 2009-01-03 21:30:15 +0100 (Sat, 03 Jan 2009) | 2 lines
Add rstlint, a little tool to find subtle markup problems and inconsistencies in the Doc sources.
........
r68218 | georg.brandl | 2009-01-03 21:38:59 +0100 (Sat, 03 Jan 2009) | 2 lines
Recognize usage of the default role.
........
r68219 | georg.brandl | 2009-01-03 21:47:01 +0100 (Sat, 03 Jan 2009) | 2 lines
Fix uses of the default role.
........
r68220 | georg.brandl | 2009-01-03 21:55:06 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove trailing whitespace.
........
r68221 | georg.brandl | 2009-01-03 22:04:55 +0100 (Sat, 03 Jan 2009) | 2 lines
Remove tabs from the documentation.
........
r68222 | georg.brandl | 2009-01-03 22:11:58 +0100 (Sat, 03 Jan 2009) | 2 lines
Disable the line length checker by default.
........
2009-01-03 17:55:17 -04:00
|
|
|
Strings
|
2007-08-15 11:28:01 -03:00
|
|
|
green
|
|
|
|
|
|
|
|
Comments
|
|
|
|
red
|
|
|
|
|
|
|
|
Definitions
|
|
|
|
blue
|
|
|
|
|
|
|
|
Shell colors:
|
|
|
|
Console output
|
|
|
|
brown
|
|
|
|
|
|
|
|
stdout
|
|
|
|
blue
|
|
|
|
|
|
|
|
stderr
|
|
|
|
dark green
|
|
|
|
|
|
|
|
stdin
|
|
|
|
black
|
|
|
|
|
|
|
|
|
Merged revisions 69578-69580,69901,69907,69994,70022-70023,70025-70026,70166,70273,70275,70342,70386-70387,70389-70390,70392-70393,70395,70397,70400,70418 via svnmerge
........
r69578 | georg.brandl | 2009-02-13 12:03:59 +0100 (Fr, 13 Feb 2009) | 1 line
#3694: add test for fix committed in r66693.
........
r69579 | georg.brandl | 2009-02-13 12:06:59 +0100 (Fr, 13 Feb 2009) | 2 lines
Fix warnings GCC emits where the argument of PyErr_Format is a single variable.
........
r69580 | georg.brandl | 2009-02-13 12:10:04 +0100 (Fr, 13 Feb 2009) | 2 lines
Fix warnings GCC emits where the argument of PyErr_Format is a single variable.
........
r69901 | georg.brandl | 2009-02-23 12:24:46 +0100 (Mo, 23 Feb 2009) | 2 lines
#5349: C++ pure virtuals can also have an implementation.
........
r69907 | georg.brandl | 2009-02-23 19:33:48 +0100 (Mo, 23 Feb 2009) | 1 line
Fix grammar.
........
r69994 | georg.brandl | 2009-02-26 18:36:26 +0100 (Do, 26 Feb 2009) | 1 line
Document that setting sys.py3kwarning wont do anything.
........
r70022 | georg.brandl | 2009-02-27 17:23:18 +0100 (Fr, 27 Feb 2009) | 1 line
#5361: fix typo.
........
r70023 | georg.brandl | 2009-02-27 17:39:26 +0100 (Fr, 27 Feb 2009) | 1 line
#5363: fix cmpfiles() docs. Another instance where a prose description is twice as long as the code.
........
r70025 | georg.brandl | 2009-02-27 17:52:55 +0100 (Fr, 27 Feb 2009) | 1 line
#5344: fix punctuation.
........
r70026 | georg.brandl | 2009-02-27 17:59:03 +0100 (Fr, 27 Feb 2009) | 1 line
#5365: add quick look conversion table for different time representations.
........
r70166 | georg.brandl | 2009-03-04 19:24:41 +0100 (Mi, 04 Mär 2009) | 2 lines
Remove obsolete stuff from string module docs.
........
r70273 | georg.brandl | 2009-03-09 15:25:07 +0100 (Mo, 09 Mär 2009) | 2 lines
#5458: add a note when we started to raise RuntimeErrors.
........
r70275 | georg.brandl | 2009-03-09 17:35:48 +0100 (Mo, 09 Mär 2009) | 2 lines
Add missing space.
........
r70342 | georg.brandl | 2009-03-13 20:03:58 +0100 (Fr, 13 Mär 2009) | 1 line
#5486: typos.
........
r70386 | georg.brandl | 2009-03-15 22:32:06 +0100 (So, 15 Mär 2009) | 1 line
#5496: fix docstring of lookup().
........
r70387 | georg.brandl | 2009-03-15 22:37:16 +0100 (So, 15 Mär 2009) | 1 line
#5493: clarify __nonzero__ docs.
........
r70389 | georg.brandl | 2009-03-15 22:43:38 +0100 (So, 15 Mär 2009) | 1 line
Fix a small nit in the error message if bool() falls back on __len__ and it returns the wrong type: it would tell the user that __nonzero__ should return bool or int.
........
r70390 | georg.brandl | 2009-03-15 22:44:43 +0100 (So, 15 Mär 2009) | 1 line
#5491: clarify nested() semantics.
........
r70392 | georg.brandl | 2009-03-15 22:46:00 +0100 (So, 15 Mär 2009) | 1 line
#5488: add missing struct member.
........
r70393 | georg.brandl | 2009-03-15 22:47:42 +0100 (So, 15 Mär 2009) | 1 line
#5478: fix copy-paste oversight in function signature.
........
r70395 | georg.brandl | 2009-03-15 22:51:48 +0100 (So, 15 Mär 2009) | 1 line
#5276: document IDLESTARTUP and .Idle.py.
........
r70397 | georg.brandl | 2009-03-15 22:53:56 +0100 (So, 15 Mär 2009) | 1 line
#5469: add with statement to list of name-binding constructs.
........
r70400 | georg.brandl | 2009-03-15 22:59:37 +0100 (So, 15 Mär 2009) | 3 lines
Fix markup in re docs and give a mail address in regex howto, so that
the recommendation to send suggestions to the author can be followed.
........
r70418 | georg.brandl | 2009-03-16 20:42:03 +0100 (Mo, 16 Mär 2009) | 1 line
Add token markup.
........
2009-04-05 18:48:06 -03:00
|
|
|
Startup
|
|
|
|
-------
|
|
|
|
|
|
|
|
Upon startup with the ``-s`` option, IDLE will execute the file referenced by
|
|
|
|
the environment variables :envvar:`IDLESTARTUP` or :envvar:`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.
|
|
|
|
|
|
|
|
|
2007-08-15 11:28:01 -03:00
|
|
|
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 :option:`-e` is used, arguments are files opened for editing and
|
|
|
|
``sys.argv`` reflects the arguments passed to IDLE itself.
|
|
|
|
|
|
|
|
#. Otherwise, if :option:`-c` is used, all arguments are placed in
|
|
|
|
``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``.
|
|
|
|
|
|
|
|
#. Otherwise, if neither :option:`-e` nor :option:`-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``.
|
|
|
|
|
|
|
|
|