Heim >Backend-Entwicklung >Python-Tutorial >Einführung in die Verwendung der Unterprozessbibliothek in Python
Dieser Artikel bietet Ihnen eine Einführung in die Verwendung der Unterprozessbibliothek in Python. Ich hoffe, dass er für Freunde hilfreich ist.
Einführung
Der Zweck der Verwendung des Unterprozessmoduls besteht darin, einige alte Module und Methoden wie os.system zu ersetzen.
Modul importieren
>>> import subprocess
Befehlsausführung call()
Führen Sie den durch den Parameter bereitgestellten Befehl aus und führen Sie das Array aus als ein Parameter Order. Seine Funktion ähnelt os.system(cmd).
>>> subprocess.call(['ls','-l')
Der Shell-Parameter ist standardmäßig auf False eingestellt.
Wenn die Shell auf True gesetzt ist, können Sie die Zeichenfolge direkt übergeben:
>>> subprocess.call('ls -l',shell=True)
Erhalten Sie das Rückgabeergebnis check_output()
call() gibt nicht zurück das angezeigte Ergebnis Ja, Sie können check_ouput() verwenden, um das zurückgegebene Ergebnis zu erhalten:
>>> result = subprocess.check_output(['ls','-l'],shell=True) >>> result.decode('utf-8')
Prozesserstellung und -verwaltung Popen-Klasse
subprocess.popen anstelle von os.popen . Eine Popen-Klasse kann erstellt werden, um Prozesse zu erstellen und komplexe Interaktionen durchzuführen.
Erstellen Sie einen untergeordneten Prozess, der nicht wartet
import subprocess child = subprocess.Popen(['ping','-c','4','www.baidu.com']) print('Finished')
Fügen Sie einen untergeordneten Prozess zum Warten hinzu
import subprocess child = subprocess.Popen(['ping','-c','4','www.baidu.com']) child.wait() # 等待子进程结束 print('Finished')
Nach dem Hinzufügen von warten( ), der Hauptprozess wartet auf das Ende des untergeordneten Prozesses, bevor er die folgende Anweisung ausführt.
Unterprozess-Textflusssteuerung
Standardausgabeumleitung:
import subprocess child = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE) #将标准输出定向输出到subprocess.PIPE print(child.stdout.read())
Verwenden Sie stdin damit:
import subprocess child1 = subprocess.Popen(['cat','/etc/passwd'],stdout=subprocess.PIPE) child2 = subprocess.Popen(['grep','root'],stdin=child1.stdout,stdout=subprocess.PIPE) print child2.communicate()
Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung der Unterprozessbibliothek in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!