- #testing stdout
- >>> print 'Hello World!' #该语句会在标准输出的屏幕上打印 Hello World!
- Hello World!
- #等价于:
- >>> import sys
- >>> sys.stdout.write('Hello World!\n')
- Hello World!
- import sys
- print 'Please enter your name:',
- name=sys.stdin.readline()[:-1] #输入等同于input
- print 'Hi,%s!' % name
内部逻辑实现-----重定向
Python提供了一个StringIO模块来完成这个设想,比如:
- >>> from StringIO import StringIO
- >>> import sys
- >>> buf=StringIO()
- >>> temp=sys.stdout #重定向前保存stdout
- >>> sys.stdout=buf #将stdout重定向到buff对象
- >>> print 825,'python',0,666 # print会在要打印的信息后面加上一个硬回车
- >>> sys.stdout=temp #恢复stdout
- >>> buf.getvalue() # print会在要打印的信息后面加上一个硬回车,因此最后有一个'\n'
- '825 python 0 666\n'