这段代码的含义是什么:“print>> sys.stderr”

时间:2010-01-01 01:00:23

标签: python syntax

print >> sys.stderr, "Error in atexit._run_exitfuncs:"

为什么要打印'>>'在sys.stderr前面?

感谢。

2 个答案:

答案 0 :(得分:25)

此语法表示写入文件对象(在本例中为sys.stderr)而不是标准输出。 [Link]

在Python 3.0中,print成为函数而不是语句:[Link]

print("Error in atexit._run_exitfuncs:", file=sys.stderr)

答案 1 :(得分:5)

来自Python documentation

  

print也有扩展形式,   由第二部分定义   语法如上所述。这个表格是   有时被称为“印刷品   雪佛龙。“在这种形式下,第一个   >>之后的表达式必须评估   特别是对于“类文件”对象   一个write()方法为的对象   如上所述。随着这个扩展   形式,后续表达式   打印到此文件对象。如果   第一个表达式求值为None,   然后sys.stdout用作文件   输出。