Heim >System-Tutorial >LINUX >Vier Möglichkeiten, Python-Systembefehle auszuführen
Es gibt mehrere gängige Möglichkeiten, Systembefehle in Python auszuführen
Hinweis: Der folgende Beispielcode läuft unter Python3.5.
os.system(cmd)
Führen Sie den Systembefehl im Unterterminal aus, um die Rückgabeinformationen nach der Befehlsausführung und den von der Ausführung zurückgegebenen Status zu erhalten
>>> import os >>> os.system('date') 2018年 4月 8日 星期日 19时29分13秒 CST 0 #运行状态号,0表示正确
Nach der Ausführung werden zwei Ergebniszeilen zurückgegeben. Die erste Zeile ist das Ergebnis und die zweite Zeile ist die Ausführungsstatusinformation
os.popen(cmd)
Führt nicht nur den Befehl aus, sondern gibt nach der Ausführung auch das Informationsobjekt zurück (wird häufig verwendet, um die Rückgabeinformationen nach der Ausführung des Befehls zu erhalten. Das Ergebnis wird über eine Pipeline-Datei zurückgegeben.)
>>> import os >>> nowtime = os.popen('date') >>> print(nowtime.read()) 2018年 4月 8日 星期日 19时30分35秒 CST
getoutput Ruft die Rückgabeinformationen nach der Ausführung des Befehls ab
getstatus ruft den Statuswert des ausgeführten Befehls ab (wenn der Befehl erfolgreich ausgeführt wird, gibt er einen Wert von 0 zurück, andernfalls wird ein Wert ungleich 0 zurückgegeben)
getstatusoutput Ruft den Statuswert und die Rückgabeinformationen des ausgeführten Befehls ab
>>> import commonds >>> status, output = commands.getstatusoutput('date') >>> print(status) # 0 >>> print(output) # 2018年 4月 8日 星期日 19时31分45秒 CSTHinweis 1: Der Rückgabewert (Status), der bei Verwendung dieser Methode unter einem Unix-ähnlichen System zurückgegeben wird, ist nicht derselbe wie der Rückgabewert nach der Ausführung des Skripts oder Befehls. Dies liegt daran, dass os.wait() aufgerufen wird Der Grund muss besprochen werden. Erfahren Sie mehr über die Implementierung des Systems wait(). Wenn Sie den richtigen Rückgabewert (Status) benötigen, müssen Sie den Rückgabewert nur um 8 Bit nach rechts verschieben.
Hinweis 2: Wenn die Parameter oder Rückgaben des Ausführungsbefehls chinesische Zeichen enthalten, wird die Verwendung eines Unterprozesses empfohlen.
>>> import subprocess >>> nowtime = subprocess.Popen('date', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) >>> print(nowtime.stdout.read()) 2018年 4月 8日 星期日 19时32分41秒 CST
Das obige ist der detaillierte Inhalt vonVier Möglichkeiten, Python-Systembefehle auszuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!