From Wikipedia:
In computer programming, standard streams are preconnected input and output communication channels between a computer program and its environment when it begins execution. The three I/O connections are called standard input (stdin), standard output (stdout) and standard error (stderr). Originally I/O happened via a physically connected system console (input via keyboard, output via monitor), but standard streams abstract this."
As I understood from wiki the Stdin is traditionally the keyboard and the stdout is the monitor (output). But today what are these since most modern computers use GUI. For example, if I open cmd.exe of Linux Shell or whatever and I ran Python with this command:
# In cmd.exe
>>> import sys
>>> sys.stdout
<open file '<stdout>', mode 'w' at 0x000000000224B0C0>
A) I notice sys.stdout
is a file (object) in memory, is it just an object created by Python interpreter? Or is sys.stdout
physically stored in the a hard drive or any means of storage?
B) I think cmd.exe is a Win32 application, so does it have stdin, stdout or stderr and if so where are they? Are they just stored in memory?