Standard Streams
The sys
module is also the
place where the standard input, output, and error streams of your Python programs live:
>>>for f in (sys.stdin, sys.stdout, sys.stderr): print f
...
<open file '<stdin>', mode 'r' at 762210>
<open file '<stdout>', mode 'w' at 762270>
<open file '<stderr>', mode 'w' at 7622d0>
The standard streams are simply preopened Python file objects
that are automatically connected to your program’s standard streams
when Python starts up. By default, all of them are tied to the console
window where Python (or a Python program) was started. Because the
print
statement and raw_input
functions are really nothing more
than user-friendly interfaces to the standard output and input
streams, they are similar to using stdout
and stdin
in sys
directly:
>>>print 'hello stdout world'
hello stdout world >>>sys.stdout.write('hello stdout world' + '\n')
hello stdout world >>>raw_input('hello stdin world>')
hello stdin world>spam
'spam' >>>print 'hello stdin world>',; sys.stdin.readline( )[:-1]
hello stdin world>eggs
'eggs'
Get Programming Python, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.