2013-04-27 78 views

回答

5

它打印到一个类文件对象,从docs

print也具有延长的形式中,通过上述的句法的第二部分限定。这种形式有时被称为“打印雪佛龙”。在这种形式下,>>之后的第一个表达式必须评估为“类文件”对象,特别是具有上述方法的对象。通过这种扩展形式,后续表达式被打印到这个文件对象。如果第一个表达式的计算结果为None,则将sys.stdout用作输出文件。

这样做的好处,而不是sys.stderr.write()print >>f, ...自动附加一个换行符到文本的末尾(手动添加新行即sys.stderr.write('waiting for a connection\n')很烦人)。

仅供参考,等效的Python 3代码:

print('waiting for a connection', file=sys.stderr) 
+1

优秀的,谢谢! 因此,声明, 打印>> sys.stdout,'你好' 和, 打印'你好' 将是等效的,是吗? – hfaran 2013-04-27 04:39:34

+1

@Core2uu正确 – jamylak 2013-04-27 04:44:14