Rufen Sie das externe Programm in Python auf

Manav Narula 30 Januar 2023
  1. Verwenden Sie die Funktion os.system(), um externe Systembefehle in Python auszuführen
  2. Verwenden Sie die Funktion os.popen(), um externe Systembefehle in Python auszuführen
  3. Verwenden Sie die Funktion subprocess.Popen(), um externe Systembefehle in Python auszuführen
  4. Verwendung von die Funktion subprocess.call() zum externe Systembefehle in Python auszuführen
  5. Verwenden Sie die Funktion subprocess.run(), um externe Systembefehle in Python auszuführen
Rufen Sie das externe Programm in Python auf

In Python stehen verschiedene Module und Funktionen zur Verfügung, um zu kommunizieren und Antworten vom Betriebssystem zu erhalten. Python verfügt auch über Methoden, mit denen externe Programme ausgeführt werden können.

In diesem Tutorial wird erläutert, wie Sie ein externes Programm in Python aufrufen.

Verwenden Sie die Funktion os.system(), um externe Systembefehle in Python auszuführen

Das Modul os in Python kann mit dem Betriebssystem des Geräts interagieren und verfügt über Funktionen zum Ausführen von Shell-Befehlen. Die Funktion system() implementiert einen Befehl, der als Zeichenkette an sie übergeben wird, in einer Unterschale. Es gibt den Exit-Status der Shell zurück, den das Betriebssystem nach Ausführung des angegebenen Befehls zurückgibt. Es ermöglicht die gleichzeitige Ausführung mehrerer Befehle und das Aufrufen externer Programme, nicht von Shell-Befehlen.

Zum Beispiel,

import os

os.system("echo Hello World")

Verwenden Sie die Funktion os.popen(), um externe Systembefehle in Python auszuführen

Eine weitere Funktion des Moduls os zum Ausführen externer Programmbefehle ist die Funktion popen(). Diese Methode öffnet eine Pipe, die sich auf den Befehl bezieht. Es ähnelt der Funktion os.system(), bietet jedoch ein Dateitypobjekt, das bei Eingabe- / Ausgabeoperationen im Zusammenhang mit dem Befehl hilft. Wir können den Dateimodus für die Datei und die Buff-Größe als Parameter in der Funktion angeben.

Zum Beispiel,

import os

os.popen("echo Hello World")

Beachten Sie, dass in Python 2 4 Arten von popen() - Funktionen verfügbar sind. Der Unterschied zwischen ihnen besteht in der Ausgabe dieser 4 Funktionen.

Verwenden Sie die Funktion subprocess.Popen(), um externe Systembefehle in Python auszuführen

Das Modul subprocess ähnelt dem Modul os und verfügt über verbesserte Funktionen und Methoden zum Aufrufen externer Programme. Der Popen ist eine Klasse und keine Methode. Die Verwendung ist etwas kompliziert, da verschiedene Parameter zusammen mit dem erforderlichen Befehl angegeben werden müssen. Es kombiniert alle 4 Funktionen von os.popen() zu einer. Es führt auch das externe Programm als separaten Prozess aus. Der folgende Code zeigt, wie dies verwendet wird.

import subprocess

subprocess.Popen("echo Hello World", shell=True, stdout=subprocess.PIPE).stdout.read()

Verwendung von die Funktion subprocess.call() zum externe Systembefehle in Python auszuführen

Die Funktion call() ist eine Verbesserung der Funktion popen(). Im Gegensatz zur Funktion popen() wartet sie jedoch auf die Ausführung des Befehls, bevor der Rückkehrcode bereitgestellt wird. Wir übergeben den Befehl als Argument an die Funktion.

Zum Beispiel,

import subprocess

subprocess.call("echo Hello World", shell=True)

Verwenden Sie die Funktion subprocess.run(), um externe Systembefehle in Python auszuführen

In Python v3.5 und höher wird die Funktion run() häufiger zum Ausführen von Programmbefehlen verwendet. Nach dem Ausführen des Befehls wird ein Objekt für den abgeschlossenen Prozess zurückgegeben, das als Parameter an die Funktion übergeben wird.

Zum Beispiel,

import subprocess

print(subprocess.run("echo Hello World", shell=True))

Beachten Sie, dass das Modul subprocess dem Modul os vorgezogen wird, um externe Befehle in Python auszuführen.

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python Process