python sys中的stdin,stdout,stderr

  1. #testing stdout  
  2. >>> print 'Hello World!' #该语句会在标准输出的屏幕上打印 Hello World!  
  3. Hello World!  
  4. #等价于:  
  5. >>> import sys  
  6. >>> sys.stdout.write('Hello World!\n')  
  7. Hello World!  

  

  1. import sys  
  2. print 'Please enter your name:',  
  3. name=sys.stdin.readline()[:-1]  #输入等同于input
  4. print 'Hi,%s!' % name  

  内部逻辑实现-----重定向

  Python提供了一个StringIO模块来完成这个设想,比如:

  1. >>> from StringIO import StringIO  
  2. >>> import sys  
  3. >>> buf=StringIO()  
  4. >>> temp=sys.stdout #重定向前保存stdout  
  5. >>> sys.stdout=buf  #将stdout重定向到buff对象  
  6. >>> print 825,'python',0,666  # print会在要打印的信息后面加上一个硬回车  
  7. >>> sys.stdout=temp  #恢复stdout  
  8. >>> buf.getvalue() # print会在要打印的信息后面加上一个硬回车,因此最后有一个'\n'  
  9. '825 python 0 666\n'   

转载于:https://www.cnblogs.com/caozhi00/p/10065762.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值