summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2016-05-02 22:30:02 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2016-05-02 22:30:02 (GMT)
commit929d7f86d50b21ac10ad7fea73d3b9c4cf63b18a (patch)
tree28bcf133390329763af4655587c2aaa4e1cbd464 /Doc
parentac962053254611be78f8adf4983bfbc34134ba05 (diff)
downloadcpython-929d7f86d50b21ac10ad7fea73d3b9c4cf63b18a.zip
cpython-929d7f86d50b21ac10ad7fea73d3b9c4cf63b18a.tar.gz
cpython-929d7f86d50b21ac10ad7fea73d3b9c4cf63b18a.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..2140e85 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.