In python, kann ich umleiten der Ausgabe der print-Funktion auf stderr?
Es gibt viele print
Funktion (python 2.7
) in meinem Programm. Gibt es eine Möglichkeit, ich kann hinzufügen, ein paar Zeilen und dann die Ausgabe kann umgeleitet werden, um stderr
? Was ich will, ist python-codes, aber nicht linux-pipeline.
Zum Beispiel, mein Programm ist wie:
print 'hello world'
Möchte ich hinzufügen, dass einige codes wie:
redirect_output_to_stderr()
print 'hello world'
Dann die Ausgabe kann umgeleitet werden, um stderr
.
Ich weiß print >> sys.stderr, 'hello world'
kann mein Ziel erreichen, aber ist es ein Weg, die verhindern können, ändern Sie die bestanden-codes?
- Der einzige Weg, das zu tun, ohne den code ändern, ist die Verwendung eines shell-Umleitung-Befehle.
- Oh, ich denke, was ich brauchen, ist die Verhinderung von modifizierten gab
print
Funktionen. Vielen Dank für erwähnt 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tun dies in Ihrer Methode:
In python 2.7, die Sie tun können:
Oder Sie importieren das Verhalten von 3.x:
Neudefinition von
print
Features von Python 3+. Sie können Sie jedoch ändernsys.stdout
zustd.stderr
.Finden Sie unter: eine andere Frage
print
2.7 wenn Siefrom __future__ import print_function
.stdout
ist kürzer als Funktion Neudefinition.