diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2016-05-02 22:30:02 (GMT) |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2016-05-02 22:30:02 (GMT) |
commit | 929d7f86d50b21ac10ad7fea73d3b9c4cf63b18a (patch) | |
tree | 28bcf133390329763af4655587c2aaa4e1cbd464 /Doc | |
parent | ac962053254611be78f8adf4983bfbc34134ba05 (diff) | |
download | cpython-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.rst | 18 |
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. |