Heim Backend-Entwicklung Python-Tutorial So verwenden Sie das Subprozessmodul für die Subprozessverwaltung in Python 2.x

So verwenden Sie das Subprozessmodul für die Subprozessverwaltung in Python 2.x

Jul 30, 2023 am 10:07 AM
python x subprocess模块 子进程管理

So verwenden Sie das Subprozessmodul für die Subprozessverwaltung in Python 2.x

Übersicht:
In der Python-Entwicklung müssen wir manchmal andere externe Befehle oder Programme im Programm aufrufen. Das Unterprozessmodul ist eine von Python bereitgestellte Standardbibliothek, mit der Unterprozesse problemlos erstellt und mit ihnen kommuniziert werden können. In diesem Artikel wird die Verwendung des Subprozessmoduls für die Subprozessverwaltung vorgestellt und anhand von Codebeispielen veranschaulicht.

  1. Unterprozess erstellen:
    Die am häufigsten verwendete Funktion im Unterprozessmodul ist subprocess.Popen(), die einen neuen Prozess starten und ein Popen-Objekt zurückgeben kann. Die grundlegende Syntax für die Verwendung der Funktion Popen() zum Erstellen eines Unterprozesses lautet wie folgt: subprocess.Popen(),它能够启动一个新进程并返回一个Popen对象。使用Popen()函数创建子进程的基本语法如下:
import subprocess

subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, 
                 close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, 
                 creationflags=0)
Nach dem Login kopieren

参数说明:

  • args: 字符串或者序列类型的命令行参数
  • bufsize: 控制输入输出缓冲大小的参数,0代表不缓冲,1代表行缓冲,其他正数代表缓冲区大小
  • executable: 可执行文件的路径,默认使用系统PATH环境变量中的搜索路径
  • stdin: 子进程的标准输入流,默认为PIPE,即通过Popen对象的stdin属性进行输入
  • stdout: 子进程的标准输出流,默认为PIPE,即通过Popen对象的stdout属性进行输出
  • stderr: 子进程的标准错误流,默认为PIPE,即通过Popen对象的stderr属性进行输出
  • preexec_fn: 一个将在子进程启动之前被调用的可执行对象
  • close_fds: 是否关闭不再需要的文件描述符,默认为False
  • shell: 是否通过shell进行命令解析,默认为False
  • cwd: 工作目录,默认为None
  • env: 环境变量,默认为None,即使用父进程的环境变量
  • universal_newlines: 控制输入输出是否转换为文本模式,默认为False
  • startupinfo: 子进程的启动信息,默认为None
  • creationflags: 子进程的创建标记,默认为0

示例代码1:启动一个子进程并执行命令,然后获取子进程的输出结果。

import subprocess

cmd = "ls -l"
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
output, _ = p.communicate()
print(output)
Nach dem Login kopieren
  1. 子进程的输入输出:
    在创建子进程时,我们可以通过Popen()函数的stdin、stdout、stderr参数来指定子进程的输入输出。如果不指定这些参数,默认会创建一个新的管道并通过Popen对象的属性来读写。

示例代码2:启动一个子进程并通过管道进行输入、输出。

import subprocess

cmd = "grep -E 'a|b|c'"
p = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
input_data = "abcdefg
hijklmnop
qrstuvwxyz
"
output, _ = p.communicate(input_data)
print(output)
Nach dem Login kopieren

示例代码3:启动一个子进程并重定向输出到文件中。

import subprocess

cmd = "grep -E 'a|b|c' input.txt > output.txt"
subprocess.Popen(cmd, shell=True)
Nach dem Login kopieren
  1. 等待子进程结束:
    子进程的执行是异步的,默认情况下,Popen()函数会立即返回一个Popen对象,而不会等待子进程执行完毕。如果我们需要等待子进程执行完毕后再进行下一步操作,可以使用Popen()对象的wait()方法。

示例代码4:启动一个子进程并等待其执行完毕。

import subprocess

cmd = "ls -l"
p = subprocess.Popen(cmd, shell=True)
p.wait()
print("子进程执行完毕")
Nach dem Login kopieren
  1. 捕获子进程的退出状态码:
    每个子进程都会有一个退出状态码,代表其执行结果。可以使用Popen()对象的returncode
  2. import subprocess
    
    cmd = "ls -l"
    p = subprocess.Popen(cmd, shell=True)
    p.wait()
    if p.returncode == 0:
        print("子进程执行成功")
    else:
        print("子进程执行失败")
    Nach dem Login kopieren
    Parameterbeschreibung:

      args: Befehlszeilenparameter vom Typ String oder Sequenz


      bufsize : Eingabe- und Ausgabeparameter der Puffergröße steuern, 0 bedeutet keine Pufferung, 1 bedeutet Zeilenpufferung, andere positive Zahlen stellen die Puffergröße dar

      ausführbar: Der Pfad zur ausführbaren Datei, der Suchpfad in der Systemumgebungsvariablen PATH wird verwendet Standardmäßig

      🎜stdin: Der Standard-Eingabestream des untergeordneten Prozesses, der Standardwert ist PIPE, der über das stdin-Attribut des Popen-Objekts eingegeben wird. 🎜🎜stdout: Der Standardausgabestream des untergeordneten Prozesses, der standardmäßig PIPE ist. die über das stdout-Attribut des Popen-Objekts ausgegeben wird 🎜🎜stderr: Der Standardfehlerstrom des untergeordneten Prozesses, der Standardwert ist PIPE, der über das stderr-Attribut des Popen-Objekts ausgegeben wird 🎜🎜preexec_fn: ein ausführbares Objekt, das wird aufgerufen, bevor der untergeordnete Prozess startet 🎜🎜close_fds: ob nicht mehr benötigte Dateideskriptoren geschlossen werden sollen, der Standardwert ist False🎜🎜 Shell: Ob die Befehlsanalyse über die Shell durchgeführt werden soll, der Standardwert ist False 🎜🎜cwd: Die Funktion Verzeichnis, der Standardwert ist None 🎜🎜env: Die Umgebungsvariable, der Standardwert ist None, dh die Umgebungsvariable des übergeordneten Prozesses wird verwendet 🎜🎜universal_newlines: Steuert, ob die Eingabe und Ausgabe in den Textmodus konvertiert werden, der Standardwert ist False🎜🎜startupinfo: Die Startinformationen des untergeordneten Prozesses, der Standardwert ist None🎜🎜creationflags: Das Erstellungsflag des untergeordneten Prozesses, der Standardwert ist 0🎜
    🎜Beispielcode 1: Starten Sie einen untergeordneten Prozess und führen Sie ihn aus Befehl, dann erhalten Sie die Ausgabe des untergeordneten Prozesses. 🎜rrreee
      🎜Eingabe und Ausgabe des Unterprozesses: 🎜Beim Erstellen eines Unterprozesses können wir den Unterprozess über die Parameter stdin, stdout und stderr von Popen() angeben Funktion Eingabe und Ausgabe. Wenn diese Parameter nicht angegeben werden, wird standardmäßig eine neue Pipe erstellt und über die Eigenschaften des Popen-Objekts gelesen und geschrieben. 🎜🎜🎜Beispielcode 2: Starten Sie einen untergeordneten Prozess und führen Sie Ein- und Ausgaben über Pipes durch. 🎜rrreee🎜Beispielcode 3: Starten Sie einen Unterprozess und leiten Sie die Ausgabe in eine Datei um. 🎜rrreee
        🎜Warten Sie, bis der Unterprozess beendet ist: 🎜Die Ausführung des Unterprozesses erfolgt asynchron. Standardmäßig gibt die Funktion Popen() einen Popen zurück Objekt sofort statt Warten, bis der untergeordnete Prozess die Ausführung abgeschlossen hat. Wenn wir warten müssen, bis der untergeordnete Prozess die Ausführung abgeschlossen hat, bevor wir mit dem nächsten Schritt fortfahren, können wir die Methode wait() des Objekts Popen() verwenden. 🎜🎜🎜Beispielcode 4: Starten Sie einen untergeordneten Prozess und warten Sie, bis seine Ausführung abgeschlossen ist. 🎜rrreee
          🎜Erfassen Sie den Exit-Statuscode des untergeordneten Prozesses: 🎜Jeder untergeordnete Prozess verfügt über einen Exit-Statuscode, der sein Ausführungsergebnis darstellt. Sie können das Attribut returncode des Objekts Popen() verwenden, um den Exit-Statuscode des untergeordneten Prozesses abzurufen. Wenn es 0 ist, bedeutet dies, dass die Ausführung erfolgreich ist. 🎜🎜🎜Beispielcode 5: Rufen Sie den Exit-Statuscode des untergeordneten Prozesses ab. 🎜rrreee🎜Zusammenfassung: 🎜Mit dem Unterprozessmodul können wir ganz einfach Unterprozesse erstellen und Prozesse in Python-Programmen verwalten. Zu den spezifischen Betriebsmethoden gehören das Erstellen eines untergeordneten Prozesses, das Steuern der Eingabe und Ausgabe des untergeordneten Prozesses, das Warten auf das Ende des untergeordneten Prozesses und das Erfassen des Exit-Statuscodes des untergeordneten Prozesses. Wenn Sie dieses Wissen beherrschen, können Sie Python besser für die Unterprozessverwaltung nutzen und die Flexibilität und Skalierbarkeit des Programms verbessern. 🎜🎜Das Obige ist der relevante Inhalt zur Verwendung des Subprozessmoduls für die Subprozessverwaltung in Python 2.x. Ich hoffe, das hilft. 🎜

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Subprozessmodul für die Subprozessverwaltung in Python 2.x. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie das Mathematikmodul, um mathematische Operationen in Python 3.x auszuführen So verwenden Sie das Mathematikmodul, um mathematische Operationen in Python 3.x auszuführen Aug 01, 2023 pm 03:15 PM

So verwenden Sie das Mathematikmodul, um mathematische Operationen in Python 3.x auszuführen. Einführung: Bei der Python-Programmierung ist die Durchführung mathematischer Operationen eine häufige Anforderung. Um die Verarbeitung mathematischer Operationen zu erleichtern, stellt Python die Mathematikbibliothek bereit, die viele Funktionen und Konstanten für mathematische Berechnungen und mathematische Funktionen enthält. In diesem Artikel wird erläutert, wie Sie mit dem Mathematikmodul allgemeine mathematische Operationen ausführen und entsprechende Codebeispiele bereitstellen. 1. Die Addition grundlegender mathematischer Operationen wird mit der Funktion math.add() im Mathematikmodul durchgeführt.

So verwenden Sie die Funktion „join()', um in Python 2.x eine Liste von Zeichenfolgen zu einer Zeichenfolge zusammenzuführen So verwenden Sie die Funktion „join()', um in Python 2.x eine Liste von Zeichenfolgen zu einer Zeichenfolge zusammenzuführen Jul 30, 2023 am 08:36 AM

So verwenden Sie die Funktion „join()“ in Python2.x, um eine Liste von Zeichenfolgen zu einer Zeichenfolge zusammenzuführen. In Python müssen wir häufig mehrere Zeichenfolgen zu einer Zeichenfolge zusammenführen. Python bietet verschiedene Möglichkeiten, dieses Ziel zu erreichen. Eine der häufigsten Methoden ist die Verwendung der Funktion „join()“. Die Funktion „join()“ kann eine Liste von Zeichenfolgen zu einer Zeichenfolge verketten und beim Verketten das Trennzeichen angeben. Die grundlegende Syntax für die Verwendung der Funktion „join()“ lautet wie folgt: &

So verwenden Sie die Funktion urllib.parse.unquote() zum Dekodieren von URLs in Python 3.x So verwenden Sie die Funktion urllib.parse.unquote() zum Dekodieren von URLs in Python 3.x Aug 02, 2023 pm 02:25 PM

So verwenden Sie die Funktion urllib.parse.unquote() zum Dekodieren von URLs in Python3.x. In der urllib-Bibliothek von Python stellt das Modul urllib.parse eine Reihe von Toolfunktionen für die URL-Kodierung und -Dekodierung bereit, darunter urllib.parse.unquote( ) Funktionen können zum Dekodieren von URLs verwendet werden. In diesem Artikel wird die Verwendung von urllib.parse.un vorgestellt

So verwenden Sie Pattern Matching für den Typmustervergleich in Java 14 So verwenden Sie Pattern Matching für den Typmustervergleich in Java 14 Jul 31, 2023 pm 12:01 PM

So verwenden Sie PatternMatching für den Typmustervergleich in Java14 Einführung: Java14 führt eine neue Funktion ein, PatternMatching, ein leistungsstarkes Tool, das zum Typmustervergleich zur Kompilierungszeit verwendet werden kann. In diesem Artikel wird die Verwendung von PatternMatching für den Typmustervergleich in Java14 vorgestellt und Codebeispiele bereitgestellt. Verstehen Sie das Konzept von PatternMatchingPattern

So verwenden Sie das OS-Modul zum Ausführen von Systembefehlen in Python 3.x So verwenden Sie das OS-Modul zum Ausführen von Systembefehlen in Python 3.x Jul 31, 2023 pm 12:19 PM

So verwenden Sie das OS-Modul zum Ausführen von Systembefehlen in Python3.x. In der Standardbibliothek von Python3.x stellt das OS-Modul eine Reihe von Methoden zum Ausführen von Systembefehlen bereit. In diesem Artikel erfahren Sie, wie Sie mit dem OS-Modul Systembefehle ausführen und geben entsprechende Codebeispiele. Das OS-Modul in Python ist eine Schnittstelle zur Interaktion mit dem Betriebssystem. Es bietet Methoden wie das Ausführen von Systembefehlen, den Zugriff auf Dateien und Verzeichnisse usw. Im Folgenden sind einige häufig verwendete Betriebssystemmodulmethoden aufgeführt, mit denen Systembefehle ausgeführt werden können.

So verwenden Sie die Funktion write(), um Inhalte in eine Datei in Python 2.x zu schreiben So verwenden Sie die Funktion write(), um Inhalte in eine Datei in Python 2.x zu schreiben Jul 30, 2023 am 08:37 AM

So verwenden Sie die Funktion write(), um Inhalte in eine Datei in Python2.x zu schreiben. In Python2.x können wir die Funktion write() verwenden, um Inhalte in eine Datei zu schreiben. Die Funktion write() ist eine der Methoden des Dateiobjekts und kann zum Schreiben von String- oder Binärdaten in die Datei verwendet werden. In diesem Artikel erkläre ich ausführlich die Verwendung der write()-Funktion und einige häufige Anwendungsfälle. Öffnen Sie die Datei, bevor Sie mit der Funktion write() in die Datei schreiben

So verwenden Sie die Funktion urllib.quote() zum Codieren von URLs in Python 2.x So verwenden Sie die Funktion urllib.quote() zum Codieren von URLs in Python 2.x Jul 31, 2023 pm 08:37 PM

So verwenden Sie die Funktion urllib.quote() zum Codieren von URLs in Python 2.x. URLs enthalten eine Vielzahl von Zeichen, einschließlich Buchstaben, Zahlen, Sonderzeichen usw. Damit die URL korrekt übertragen und analysiert werden kann, müssen wir die darin enthaltenen Sonderzeichen kodieren. In Python2.x können Sie die Funktion urllib.quote() zum Codieren der URL verwenden. Nachfolgend stellen wir deren Verwendung im Detail vor. urllib.quote

So verwenden Sie das Hashlib-Modul zur Berechnung des Hash-Algorithmus in Python 2.x So verwenden Sie das Hashlib-Modul zur Berechnung des Hash-Algorithmus in Python 2.x Jul 29, 2023 pm 05:16 PM

So verwenden Sie das Hashlib-Modul zur Berechnung des Hash-Algorithmus in Python 2.x. In der Python-Programmierung ist der Hash-Algorithmus ein häufig verwendeter Algorithmus, der zur Generierung einer eindeutigen Identifizierung von Daten verwendet wird. Python stellt das Hashlib-Modul zur Durchführung von Hash-Algorithmus-Berechnungen bereit. In diesem Artikel wird die Verwendung des Hashlib-Moduls zur Durchführung von Hash-Algorithmus-Berechnungen vorgestellt und einige Beispielcodes bereitgestellt. Das Hashlib-Modul ist Teil der Python-Standardbibliothek und bietet eine Vielzahl gängiger Hash-Algorithmen wie MD5, SH

See all articles