Heim >Backend-Entwicklung >Python-Tutorial >Einführung in die Verwendung der Unterprozessbibliothek in Python

Einführung in die Verwendung der Unterprozessbibliothek in Python

不言
不言nach vorne
2018-10-26 17:10:274125Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen