python 2からpython 3にコードを変換する必要があり、print >>
どうすればいいですか?python 3。
print >> sys.stderr, '--'
print >> sys.stderr, 'entrada1: ', entrada1
print >> sys.stderr, 'entrada2: ', entrada2
print >> sys.stderr, '--'
>> sys.stderr
部分は、Python 2.のstdoutではなく、print
ステートメントをstderrに出力します。
ドキュメント を引用するには:
>>
の後の最初の式は「ファイルのような」オブジェクト、特にwrite()
メソッドを持つオブジェクトに評価される必要があります。上記のように。この拡張形式では、後続の式がこのファイルオブジェクトに出力されます。最初の式がNone
と評価される場合、sys.stdout
が出力用のファイルとして使用されます。
Python 3では、 print()
関数にfile
引数を使用します。
print("spam", file=sys.stderr)
これらをPython 2からPython 3に変更します:
print >>sys.stderr, 'Hello'
に:
print('Hello', file=sys.stderr)
stderr
noteへの印刷用
sys.stderr.write()
バージョン間で移植可能ですが、print
とは異なり、改行を追加する必要があります。例えば
import sys
errlog = sys.stderr.write
errlog("an error message\n")