summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2016-05-02 22:17:19 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2016-05-02 22:17:19 (GMT)
commit7d03c8463477b0e314f594bb9988e49dc0945be9 (patch)
tree81a4625cfeabb45d48af2824b2f208cc081cbc2f /Doc
parent84050c543456c4fe33348c15c67d627ad58b6093 (diff)
downloadcpython-7d03c8463477b0e314f594bb9988e49dc0945be9.zip
cpython-7d03c8463477b0e314f594bb9988e49dc0945be9.tar.gz
cpython-7d03c8463477b0e314f594bb9988e49dc0945be9.tar.bz2
Clarify IDLE-console differences with respect to the sys module.
The reload(sys) effect was the crux of a Stackoverflow question.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/idle.rst18
1 files changed, 10 insertions, 8 deletions
diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst
index df08fe8..84805ff 100644
--- a/Doc/library/idle.rst
+++ b/Doc/library/idle.rst
@@ -550,14 +550,16 @@ IDLE-console differences
As much as possible, the result of executing Python code with IDLE is the
same as executing the same code in a console window. However, the different
-interface and operation occasionally affects results.
-
-For instance, IDLE normally executes user code in a separate process from
-the IDLE GUI itself. The IDLE versions of sys.stdin, .stdout, and .stderr in the
-execution process get input from and send output to the GUI process,
-which keeps control of the keyboard and screen. This is normally transparent,
-but code that access these object will see different attribute values.
-Also, functions that directly access the keyboard and screen will not work.
+interface and operation occasionally affects visible results. For instance,
+``sys.modules`` starts with more entries.
+
+IDLE also replaces ``sys.stdin``, ``sys.stdout``, and ``sys.stderr`` with
+objects that get input from and send output to the Shell window.
+When this window has the focus, it controls the keyboard and screen.
+This is normally transparent, but functions that directly access the keyboard
+and screen will not work. If ``sys`` is reset with ``reload(sys)``,
+IDLE's changes are lost and things like ``input``, ``raw_input``, and
+``print`` will not work correctly.
With IDLE's Shell, one enters, edits, and recalls complete statements.
Some consoles only work with a single physical line at a time.