
Unterprozessausgabe in einem String speichern
Beim Ausführen von Systemaufrufen in Python ist das Speichern der Ergebnisse in einem String zur weiteren Bearbeitung von entscheidender Bedeutung. In diesem Artikel wird untersucht, wie Sie dies mithilfe von subprocess.Popen in Python effektiv erreichen können.
Betrachten Sie das folgende Beispiel:
import subprocess
# Create a Popen object to execute the ntpq command
p2 = subprocess.Popen("ntpq -p")Um die Ausgabe dieses Befehls in einer Zeichenfolge zu speichern, gibt es zwei primäre Ansätze:
Methode 1: subprocess.check_output (Python 2.7 oder Python 3)
Diese Funktion kombiniert Popen mit der Kommunikationsverarbeitung, um die Standardausgabe als Zeichenfolge zurückzugeben.
from subprocess import check_output # Execute the command and store the output in a string out = check_output(["ntpq", "-p"])
Methode 2: kommunizieren (Python 2.4-2.6)
Für ältere Python-Versionen ist die Kommunikationsmethode genutzt.
import subprocess # Create a Popen object with stdout connected to a pipe p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE) # Read the stdout output and store it in a string out, err = p.communicate()
Beachten Sie, dass der Befehl als Liste bereitgestellt werden sollte, da Popen die Shell nicht aufruft.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe eines Unterprozesses effizient als String in Python speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Wie viele Jahre müssen Sie für die Krankenversicherung bezahlen, um lebenslang krankenversichert zu sein?
Nutzung der Bodenfunktion
Checken Sie den virtuellen Standort auf DingTalk ein
Was bedeutet URL?
Wie Orakel rundet
So deaktivieren Sie die Win10-Upgrade-Eingabeaufforderung
Bitcoin-Handelsplattform
Was bedeutet Taobao b2c?