Pexpect in Python

Rana Hasnain Khan 15 Februar 2024
  1. Pexpect in Python
  2. Methoden von Pexpect in Python
Pexpect in Python

Wir werden Pexpect in Python mit Beispielen vorstellen.

Pexpect in Python

Python ist eine sehr beliebte Sprache und wird für Data Science und maschinelles Lernen verwendet. Es ist eine sehr starke Sprache, da Python über integrierte Bibliotheken verfügt, die für verschiedene Zwecke verwendet werden können.

In diesem Artikel werden wir den pexpect in Python untersuchen. Pexpect ist eine leistungsstarke Bibliothek, mit der untergeordnete Prozesse erstellt und automatisch gesteuert werden.

Es kann Exploits testen oder jede erdenkliche Aufgabe ausführen.

Meistens kann es verwendet werden, um einen Anwendungsfall für das System zu testen, um zu überprüfen, wie es unter bestimmten Aufgaben funktioniert und wie gut das System unter diesen Aufgaben funktioniert. Wir können es auch verwenden, um einige kleine Aufgaben unseres täglichen Lebens zu automatisieren.

Wir können es verwenden, um Setup-Skripte zum Herunterladen von Softwarepaketen auf mehreren Servern zu organisieren. Pexpect ist eine Python-Schnittstelle zur Expect-Familie interaktiver Multithread-Befehlszeileninterpreter.

Pexpect ist eine Bibliothek zum Spawnen von Netzwerkprogrammen auf einer entfernten Maschine über eine Netzwerkverbindung.

Es wird häufig zum Skripten von Netzwerkdiensten wie SSH oder Telnet verwendet. Es ist auch für eigenständige Spawning-Programme nützlich.

Lassen Sie uns nun das pexpect in der Software installieren, an der wir arbeiten. Am einfachsten lässt sich pexpect in Python mit dem Paketmanager pip installieren.

Wir können es mit dem folgenden Befehl installieren.

pip install pexpect

Wenn Sie pip nicht installiert haben, können Sie es mit dem folgenden Befehl installieren.

pip install python-pip

Methoden von Pexpect in Python

Lassen Sie uns nun diskutieren, wie wir pexpect in unseren Anwendungen verwenden können. Wir können pexpect in unserer Anwendung mit drei verschiedenen Methoden verwenden.

Die erste Methode, die wir besprechen werden, ist die run()-Methode.

die Run()-Methode in Pexpect

Run() ist eine leistungsstarke Methode von pexpect, die verwendet werden kann, um einen Befehl auszuführen und das von diesem Befehl erhaltene Ergebnis zurückzugeben. Diese Methode ersetzt eine andere mächtige Bibliotheksmethode, das os.system.

Lassen Sie uns nun diese Methode verwenden, um Hello World mit dem Befehl echo zu drucken. Zuerst importieren wir die Bibliothek pexpect und verwenden danach die Methode run() wie unten gezeigt.

# python
import pexpect

print(pexpect.run("echo Hello World"))

Ausgang:

pexpect run-Methode auf einem Linux-System

Wie Sie im obigen Beispiel sehen können, hat unsere Methode den Befehlszeilencode in unserer Python-Datei mit der run()-Methode von pexpect ausgeführt.

Eine wichtige Sache, die beim obigen Beispiel zu beachten ist, ist, dass dieser Befehl auf einem Linux-System funktioniert, nicht auf Windows.

die Spawn()-Methode in Pexpect

Jetzt werden wir eine andere Methode von pexpect besprechen, die verwendet werden kann, um Kindprozesse hervorzubringen und sie zu kontrollieren. Da wir die Zeichenfolge in der Methode run() durch eine Eingabeaufforderung ersetzt haben, können wir dasselbe in spawn() tun und damit einen Shell-Befehl ausführen und das Ergebnis nach der Ausführung abrufen.

Lassen Sie uns es nun in unserem Beispiel verwenden, in dem wir einen untergeordneten Prozess mit der Methode spawn() starten. Wir werden das gleiche Szenario verwenden, um die Zeichenfolge mit spawn zu echon.

Danach senden wir ein Array an die expect()-Methode, um den obigen Befehl aus den Strings in einem Array abzugleichen und die Position des Elements zurückzugeben, die unserem Befehl entsprach, wie unten gezeigt.

# python
import pexpect

childProcess = pexpect.spawn("echo Hello World")

# prints he matched index of string.
print(childProcess.expect(["Python", "Hello World", "Child Process"]))

Ausgang:

pexpect Spawn und Expect-Methode auf einem Linux-System

Wie Sie im obigen Beispiel sehen können, war die Position der Zeichenfolge im Array die zweite, und das Array beginnt bei 0, sodass es die richtige Position ausgibt.

In diesem Artikel haben wir drei Methoden von pexpect besprochen, die verwendet werden können, um verschiedene Funktionen auszuführen, und sie können zusammen verwendet werden, um daraus eine große Funktion zu machen, wie im letzten Beispiel.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn