Kann ich in Python die Ausgabe der Druckfunktion auf stderr umleiten?

8

Es gibt viele print Funktion ( python 2.7 ) in meinem Programm. Gibt es irgendeine Möglichkeit, ein paar Zeilen hinzuzufügen, dann kann die gesamte Ausgabe zu stderr umgeleitet werden? Was ich will, ist Python-Codes, aber nicht Linux-Pipeline.

Zum Beispiel ist mein Programm wie folgt:

%Vor%

Ich möchte einige Codes hinzufügen wie:

%Vor%

Dann kann die gesamte Ausgabe zu stderr umgeleitet werden.

Ich weiß, dass print >> sys.stderr, 'hello world' mein Ziel erreichen kann, aber ist es eine Möglichkeit, die existierenden Codes nicht zu verändern?

    
waitingkuo 07.04.2013, 08:25
quelle

3 Antworten

7

Mach das in deiner Methode:

%Vor%     
MostafaR 07.04.2013, 08:31
quelle
16

In Python 2.7 können Sie Folgendes tun:

%Vor%

Oder Sie können das Verhalten von 3.x importieren:

%Vor%     
Roland Smith 07.04.2013 08:38
quelle
2

Die Neudefinition von print ist eine Funktion von Python 3+. Sie können jedoch sys.stdout in std.stderr ändern.

Siehe: eine weitere Frage

    
kravemir 07.04.2013 08:32
quelle

Tags und Links