在Python中"打印>>"做什么?

Seb*_*ian 30 python python-2.x python-3.x

我必须将python 2中的代码翻译成python 3,我无法理解做print >>什么以及如何在python 3中编写它.

print >> sys.stderr, '--'
print >> sys.stderr, 'entrada1: ', entrada1
print >> sys.stderr, 'entrada2: ', entrada2
print >> sys.stderr, '--'
Run Code Online (Sandbox Code Playgroud)

Eug*_*ash 32

>> sys.stderr部分使print语句输出到stderr而不是Python 2中的stdout.

引用文档:

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

在Python 3中使用函数的file参数print():

 print("spam", file=sys.stderr)
Run Code Online (Sandbox Code Playgroud)


Tom*_*zes 14

要将这些从Python 2转换为Python 3,请更改:

print >>sys.stderr, 'Hello'
Run Code Online (Sandbox Code Playgroud)

至:

print('Hello', file=sys.stderr)
Run Code Online (Sandbox Code Playgroud)