The fact that in IDLE sys.stdin is a idlelib.rpc.RPCProxy results in programs having different behavior in IDLE and in Command Line mode.
I noticed that when grading many students exercises in IDLE. Things like:
sys.stdin.readlines()
just don´t exists in IDLE, but are fully operational in Command Line mode.
In Command Line mode, sys.stdin is a file.
This is expected, as the manual (27.1) says that sys.stdin (and stdout and stderrr) are "File objects corresponding to the interpreter’s standard input"
There are also other "quirks".
I fell that is really strange that stdin has different behavior for the same program. |