“打印>>”在python中做什么?

新手上路,请多包涵

我必须将代码从 python 2 翻译成 python 3,我不明白 print >> 做什么以及我应该如何在 python 3 中编写它。

 print >> sys.stderr, '--'
print >> sys.stderr, 'entrada1: ', entrada1
print >> sys.stderr, 'entrada2: ', entrada2
print >> sys.stderr, '--'

原文由 Sebastian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 454
2 个回答

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

引用 文档

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

在 Python 3 中,将 file 参数用于 print() 函数:

  print("spam", file=sys.stderr)

原文由 Eugene Yarmash 发布,翻译遵循 CC BY-SA 3.0 许可协议

要将它们从 Python 2 转换为 Python 3,请更改:

 print >>sys.stderr, 'Hello'

到:

 print('Hello', file=sys.stderr)

原文由 Tom Karzes 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题