summaryrefslogtreecommitdiff
path: root/Doc/library
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2016-05-02 18:30:02 -0400
committerTerry Jan Reedy <tjreedy@udel.edu>2016-05-02 18:30:02 -0400
commita1f5aa067a682fa639c288fe75823bd15f9401c5 (patch)
treedfa46f245d9821840b49f95c954cb25cd49feaef /Doc/library
parentbaf57d0df1f7f2dc0e1bc1eb6eb65ce7fcf3aea2 (diff)
downloadcpython-a1f5aa067a682fa639c288fe75823bd15f9401c5.tar.gz
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/library')
-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 df08fe8b5b..2140e85f04 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 ``importlib.reload(sys)``,
+IDLE's changes are lost and things li ke ``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.