Das Unterprozessmodul von Python bietet eine Möglichkeit, externe Befehle in einem Python-Programm auszuführen. Es ermöglicht uns, mit der Befehlszeile des Betriebssystems zu interagieren und die Ausgabe und das Verhalten externer Programme über Code zu steuern und zu referenzieren. In diesem Artikel wird die Verwendung des Subprocess-Moduls zum Ausführen externer Befehle vorgestellt und einige praktische Codebeispiele bereitgestellt.
Um einfache externe Befehle auszuführen, können Sie die Funktion subprocess.call()
des Subprocess-Moduls verwenden. Diese Funktion gibt den Exit-Statuscode des Befehls zurück, nachdem der externe Befehl ausgeführt wurde. subprocess.call()
函数。这个函数在执行完外部命令后会返回命令的退出状态码。
import subprocess # 执行一个简单的外部命令:获取当前目录下的文件列表 subprocess.call('ls')
如果想要获取外部命令的输出结果,可以使用subprocess.check_output()
函数。这个函数会执行外部命令,并将其输出作为函数的返回值。
import subprocess # 执行外部命令:获取当前目录下的文件列表 output = subprocess.check_output('ls') print(output)
有时候,我们需要将输入数据传递给外部命令,或者从外部命令中获取实时的输出。subprocess模块提供了Popen
类来满足这些需求。
import subprocess # 执行外部命令:使用cat命令将输入数据输出到标准输出 input_data = b'Hello, World!' process = subprocess.Popen(['cat'], stdin=subprocess.PIPE, stdout=subprocess.PIPE) output, error = process.communicate(input=input_data) print(output)
当外部命令的参数包含空格时,需要将整个命令作为一个字符串传递给subprocess.call()
或subprocess.check_output()
import subprocess # 执行外部命令:计算一个数的平方 number = 10 subprocess.call('python -c "print({}**2)"'.format(number), shell=True)
subprocess.check_output()
verwenden. Diese Funktion führt den externen Befehl aus und gibt seine Ausgabe als Rückgabewert der Funktion zurück. import subprocess # 执行外部命令:命令不存在 try: subprocess.check_output('nonexistent_command') except subprocess.CalledProcessError as e: print('Command execution failed:', e)
Steuern Sie die Eingabe und Ausgabe externer Befehle
Manchmal müssen wir Eingabedaten an externe Befehle übergeben oder eine Echtzeitausgabe von externen Befehlen erhalten. Das Unterprozessmodul stellt die KlassePopen
bereit, um diese Anforderungen zu erfüllen. 🎜rrreeesubprocess.call() as übergeben werden eine String-
- oder subprocess.check_output()
-Funktion. 🎜rrreee🎜🎜Fehlerbehandlung hinzugefügt🎜🎜🎜Bei der Ausführung externer Befehle können einige Fehler auftreten, z. B. wenn der Befehl nicht existiert oder die Befehlsausführung fehlschlägt. Wir können die Try-Exception-Anweisung verwenden, um diese Fehler zu behandeln. 🎜rrreee🎜Diese Beispielcodes zeigen, wie Sie das Unterprozessmodul verwenden, um externe Befehle auszuführen. Durch die Verwendung des Unterprozessmoduls können wir einfach mit der Befehlszeile interagieren und das Verhalten externer Programme flexibel steuern. Ob es sich um einen einfachen Befehl oder eine komplexe Aufgabe handelt, das Unterprozessmodul kann uns dabei helfen, dies zu erreichen. 🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Subprocess-Modul zum Ausführen externer Befehle in Python 2.x. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!