Ich versuche also, die Ausgabe eines Befehls in eine Variable zu speichern. Ich möchte nicht, dass die Ausgabe während des Befehls angezeigt wird, obwohl ...
Der Code, den ich gerade habe, ist wie folgt ...
%Vor%Wenn ich das in eine Datei lege und es in der Kommandozeile ausführe. Ich bekomme die folgende Ausgabe, obwohl ich keine print-Anweisung im Code habe. Wie kann ich dies verhindern und trotzdem die Ausgabe speichern?
%Vor% Was Sie sehen, ist die Standardfehlerausgabe, nicht die Standardausgabeausgabe. Die Umleitung von Stderr wird vom Konstruktor-Argument stderr
gesteuert. Der Standardwert ist None
. Dies bedeutet, dass keine Umleitung erfolgt, weshalb Sie diese Ausgabe sehen.
Normalerweise ist es eine gute Idee, die Ausgabe von stderr beizubehalten, da sie das Debuggen erleichtert und die normale Umleitung nicht beeinträchtigt (z. B. |
und >
Shellumleitung werden stderr standardmäßig nicht erfassen). Sie können es jedoch anderswo auf die gleiche Weise umleiten wie Sie es tun:
Oder Sie können einfach stderr:
%Vor%Tags und Links python subprocess