当我遇到这个时,我正在查看一些Python源代码:
print >> sys.stderr, __doc__
>>是什么意思?我以前从未见过这样的语法。
答案 0 :(得分:9)
请参阅Python 2.7 docs:
中的“print vvron”说明
>>
之后的第一个表达式必须求值为“类文件”对象,特别是具有{{1}的对象如上所述的方法。使用此扩展表单,后续表达式将打印到此文件对象。如果第一个表达式的计算结果为write()
,那么None
将用作输出文件。
特殊语法在Python 3中消失了,因为sys.stdout
已从语句转换为函数。
答案 1 :(得分:2)
此语法特定于print
语句。它不是输出到标准输出,而是将输出发送到以>>
命名的文件,在这种情况下是标准错误。
在表达式中,这是右移运算符。