%code% verwendet dieselben Argumente wie %code% , einschließlich der Argumente %code% und %code% . Details finden Sie in der Dokumentation.
Dies ist eine Erweiterung von mantazers Antwort auf python3. Sie können weiterhin den Befehl %code% in python3:
verwenden %Vor%aber jetzt gibt es uns eine Byte-Zeichenfolge. Um eine echte Python-Zeichenfolge zu erhalten, müssen wir decode verwenden:
%Vor%Wenn %code% als Kodierung und nicht nur als Standard %code% verwendet wird, sollte dies (zumindest theoretisch) für jedes Betriebssystem funktionieren.
Der abschließende Zeilenumbruch (und alle anderen zusätzlichen Leerzeichen) können einfach mit %code% entfernt werden. Der letzte Befehl lautet also:
%Vor%Nein, Sie können die Ausgabe von subprocess.call () nicht direkt in eine Zeichenfolge lesen.
Um die Ausgabe eines Befehls in eine Zeichenfolge zu lesen, müssen Sie subprocess.Popen (), z. B.:
, verwenden %Vor%cmd_out hat die Zeichenfolge mit der Ausgabe des Befehls.
Das Modul %code% stellt eine Methode %code% zur Verfügung, die den bereitgestellten Befehl mit Argumenten (falls vorhanden) ausführt und seine Ausgabe als Byte-Zeichenfolge zurückgibt.
%Vor%Der obige Code wird %code%
ausgebenSiehe Dokumentation: Ссылка
Ich möchte subprocess.call machen und die Ausgabe des Aufrufs in eine Zeichenkette bringen. Kann ich das direkt tun, oder muss ich es in eine Datei pipen und dann daraus lesen?
Mit anderen Worten, kann ich stdout und stderr irgendwie in eine Zeichenkette umleiten?