title: Are Standard Streams files stored in a disk?
body: <p>From Wikipedia: </p>
  
  <blockquote>
    <p>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." </p>
  </blockquote>
  
  <p>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: </p>
  
  <pre><code># In cmd.exe   
  &gt;&gt;&gt; import sys 
  &gt;&gt;&gt; sys.stdout
  &lt;open file '&lt;stdout&gt;', mode 'w' at 0x000000000224B0C0&gt;
  </code></pre>
  
  <p><strong>A)</strong> I notice <code>sys.stdout</code> is a file (object) in memory, is it just an object created by Python interpreter? Or is <code>sys.stdout</code> physically stored in the a hard drive or any means of storage? </p>
  
  <p><strong>B)</strong> 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? </p>