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

zjm*_*126 24 python syntax

print >> sys.stderr, "Error in atexit._run_exitfuncs:"
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

iam*_*mac 32

此语法意味着写入文件对象(sys.stderr在本例中)而不是标准输出.[链接]

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

print("Error in atexit._run_exitfuncs:", file=sys.stderr)
Run Code Online (Sandbox Code Playgroud)


Jam*_*son 6

Python文档:

print还具有扩展形式,由上述语法的第二部分定义.这种形式有时被称为"print vvron".在这种形式中,>>之后的第一个表达式必须求值为"类文件"对象,特别是具有如上所述的write()方法的对象.使用此扩展表单,后续表达式将打印到此文件对象.如果第一个表达式的计算结果为None,则sys.stdout用作输出文件.