print >> sys.stderr in python 2

具体含义

在python2中>> sys.stderr的格式 是让print语句的输出 从stdout改为stderr.
为什么我们总是遇到 print >> sys.stderr 而不是print >> sys.stdout的写法呢?
原因是因为, sys.stderr的输出是红色的, 这样更加明显, 想要输出比较重要的日志时, 可以会这样写

可参考 python文档

函数解释

print 也是有一个扩展格式的, 由语法的第二部分来决定, 就是后面添加的’>>’, 这种格式有的时候被称为’print chevron.’.
‘>>’ 必须指向一个’类似文件’的对象, 就是该对象必须有一个write函数, 然后我们就会用该对象的write进行输出了, 如果没有’>>’, 则是默认为’>> stdout’

实验

知道了上面的特性, 那么我们做个实验来测试一下, 我们让输出的前后都加上一行================

class MyStdOut(object):

	def write(self, str):
		if str == '\n':
			return
		print '===================='
		print str
		print '===================='

my_stdout = MyStdOut()
print >> my_stdout, 'hello world'

执行结果如下:
在这里插入图片描述

怎么说呢, 写这种文章, 忽然间感觉到, 高手用不到, 不会看, 新手水平可能还不够, 也不会看, 到底要不要继续呢???

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值