Python getopt gegen Argparse verglichen

Python getopt gegen Argparse verglichen

Weitere Codes werden benötigt, um das Systemarray -Systemargument im Paket „getopt“ aufzurufen, was weniger effizient ist als das Paket „ArgParse“. Es erscheint jedoch vorteilhaft, dieses Produkt zu entschlüsseln, zu schreiben und zu verwenden. Dieser Code ist leicht von Anfängern zu verstehen und erfordert keine Kommentare. Das Modul „getopt“ ist ein Parser für die Befehlszeilenauswahl mit einer API, die denjenigen, die die Funktion „getopt ()“ verwendet haben, vertraut sein soll. Benutzer berücksichtigen möglicherweise, dass das Modul „ArgParse“ statt der Funktion „getopt ()“ eingesetzt wird, wenn wir weniger Code mit besseren Unterstützung und Fehlermeldungen schreiben möchten. Das Befehlszeilen-Schnittstellen-Schreibwerkzeug für Python-Programmiersprache ist „ArgParse“, eine Komponente der Standardbibliothek. Erstellen benutzerfreundlicher Befehlszeilenkonfigurationen im Modul „ArgParse“ ist einfach. Das Programm gibt die Argumente an, die es sucht, und dann verwendet „ArgParse“, wie diese Argumente aus dem Systemargument extrahiert werden können. Darüber hinaus erstellt das "ArgParse" -Modul automatisch Nutzungshilfenmeldungen.

Syntax

Die Syntax für Python „getopt“ ist unten bereitgestellt:


Diese Syntax hat fast drei Teile: „Args“ bezieht. Ein Dickdarm sollte nach Entscheidungen platziert werden, die ein Argument erfordern. Der letzte Teil in der Syntax, "long_options", bestimmt die Liste der Namen für die langen Optionen in einem String -Format, und ein gleiches Zeichen sollte optionale Argumente folgen.

Die Syntax für Python Argparse ist unten angegeben:


Die Syntax von „ArgParse“ erstellt zunächst eine Funktion und erstellt oder zugewiesen die Systemargumente der zu erstellenden Funktion.

Beispiel 1: Verwenden des GetOpt () -Moduls, um eine Funktion zum Erhalten von Argumenten durch abgekürzte Buchstaben zu erstellen

Jetzt werden wir diskutieren, wie wir unsere Funktion für die Systemargumente erstellen und sie durch die Abkürzung von Buchstaben aufrufen können, die "G" und "H" sind, die wir in diesem Artikel verwendet haben.


Der Code -Snippet für "getopt ()" wird hier erklärt.

Lassen Sie uns das Code -Beispiel diskutieren, das wir verwendet haben, wo wir zuerst die Bibliothek von „SYS“ importiert haben, und die zweite Bibliothek, die wir verwendet haben, lautet "getopt". Dann haben wir unsere Funktion namens "Your_Name" erstellt, die zwei Variablen darin speichert, nämlich "sur_name" und "Middle_Name". Zum Zeitpunkt der Funktionsdefinition wird diesen beiden Variablen "Sur_name" und "Middle_Name" kein Wert zugewiesen, und "Middle_Name". Dann haben wir eine Speicherspeichervariable „argv“ erstellt, die „SYS speichert.Argv [2:] ”.

Um das Phänomen der Verwendung der Abkürzungsbuchstaben anzuwenden, haben wir das „getopt.Getopt () ”Funktion auf Variable oder Speicherspeicher„ Argv “und zwei abgekürzte Buchstaben,„ G “und„ H “, zugewiesen. In der Bedingung "außer" haben wir die Funktion "print ()" verwendet, um die Anweisung "Fehler generiert" zu drucken, wenn der Benutzer eine Taste, die eine Taste außer "g" oder "h" ist, drückt.

Für Optionen in einem Argument haben wir eine bedingte Aussage für diesen Zweck verwendet, bei dem die Bedingung „If“ mit dem „sur_name“ zusammenhängt, wenn wir auf die Taste "G" drücken und die Bedingung "sonst" mit dem "H" verknüpft wird Taste, wenn wir es drücken. Es würde den in unserem Argument vorhandenen "Middle_Name" anzeigen. Letztes haben wir die Funktion "print ()" verwendet, um den "sur_name" zusammen mit dem "Middle_Name" in der Ausgabeanzeige zu drucken. Um die Funktion zu beenden, geben wir unsere Funktion im letzten zurück, indem wir "your_name ()" verwenden.


Unser Ausgangs -Snapshot zeigt, dass wir zuerst „Desktop“ verwendet haben, da unser Python auf dem Desktop gespeichert wird. Nach dem Eingeben von "Desktop" schreiben wir den Dateinamen "You_Name".py ”und drücken Sie die Eingabetaste. Wenn wir auf unsere abgekürzte Taste „G“ drücken, zeigt es „Sur_name“ an, das "aqsa" ist, und drücken dann "H". Es wird „Aqsa Yasin Python“ zusammen mit dem vollständigen Namen angezeigt.

Beispiel Nr. 2: Verwenden des GetOpt () -Moduls, um eine Funktion zum Erhalten von Argumenten aus der vollständigen Form der Buchstaben zu erstellen



In diesem Beispiel des Moduls „getopt ()“ haben wir dieselben Bibliotheken "sys" und "getopt" wie im vorherigen Beispiel importiert. Die Funktion wird als "your_name" erstellt. Diese Funktion speichert zwei Variablen, "First_Name" und "Sur_Name", wobei beide Werte "None" zugewiesen werden. Um das Systemargument zu bestehen, haben wir „Sys.Argv [1:]. Im Zustand "Try" haben wir vollständige Buchstaben für den Namen verwendet. Anstelle von „G“ und „H“ betrachteten wir sie als "First_Name" und "Sur_Name". Die Bedingung in „Ausnahme“ speichert die Druckerklärung für den Fall. Wenn der Fehler erzeugt wird, wird er ausgeführt, außer wenn ein Argument in der Befehlszeile nicht vorhanden ist.

Die Option im Argument -Phänomen ähnelt dem vorherigen Beispiel. Aber hier in der bedingten Aussage von "if" und "sonst" werden wir "First_Name" und "Sur_Name" anstelle von "G" und "H" und "H" und "Variable" verwenden, die wir zum Speichern verwendet haben, ist "f" und "L". Die letzte Funktion "print ()" wird jetzt verwendet, um "First_Name" zusammen mit "sur_name" zu drucken und dann die Funktion mit "your_name ()" zurückzugeben "zurückzugeben.


Wenn wir die Befehlszeile öffnen, gehen wir zu "Desktop", wenn die Codedatei auf dem Desktop gespeichert ist, und schreiben dann den Namen der Datei "Your_Name".py ”wo“.Py ”wird als Erweiterungsdatei für Python verwendet. Es wird "First_Name" als "AQSA" und "sur_name" als "Yasin" zurückgegeben. Aufgrund der in der letzten Zeile verwendeten Funktion "print ()" wird der Name "AQSA Yasin" erneut in aktivierten Buchstaben gedruckt .

Beispiel Nr. 3: Verwendung des ArgParse () -Moduls zum Erstellen eines Befehlszeilenprogramms, das verwandte Argumente akzeptiert

Das Argument aus der Befehlszeile „ArgParse“ -Modul ist für die Benutzer des "getopt" -Moduls weitaus besser. Um das "ArgParse" -Modul zu erklären, haben wir die folgenden Schritte verwendet, die unten angegeben sind:


Wir haben zuerst eine Datei in unserem System mit dem Namen „ArgParse“ erstellt.Py “wie die Datei mit Python zusammenhängt, also haben wir die“ verwendet “.Py ”-Erdition. Diese Datei „ArgParse.Py ”, speichert den Python -Code. Wir öffnen den Befehlszeilenterminal und zunächst werden wir diesen Befehl einfügen, um diese Datei zu erreichen. „Nano ArgParse.py ”.


Dies ist der Code -Snippet in unserer Datei „ArgParse.py ”. Wenn wir diesen Code nun diskutieren, können wir zu Beginn sehen, dass wir zuerst die Bibliothek von „ArgParse“ importiert haben. Für die Übergabe von zwei Argumenten in den Code verwendeten wir insgesamt zwei Argumente als "command_1" und "command_2". Die zugewiesenen Argumentwerte "command_1" sind "England," Australien "und" Wales ". Das "Befehl_2" weist Argumentwerte als "Namibia" und "China" zu. Dann haben wir einen „Parser“ für die Übergabe des Arguments mit der Beschreibung der „Liste der Länder“ erstellt, um das Argument zu verabschieden.

Das Argument ist „Befehl“, bei dem der von uns verwendete Typ „String“ ist. Und dann haben wir „Argumente“ erstellt, die das Argument analysieren werden, der von „Parser“ analysiert wird.Parse_args () ”. Als Nächst.


Um das erste Argument anzuzeigen, das in "command_1" gespeichert ist, geben wir die vorherigen Zeilen in die Befehlszeilenterminal ein.


Nach dem Bestehen des Befehls werden die Argumente in "command_1" angezeigt, die "England", "Australien" und "Wales" sind.


Um die Argumente im "Befehl_2" zu erreichen, werden wir "argParse" eingeben.py command_2 ”und drücken Sie die Eingabetaste in CMD.


Nach der Eingabetaste werden die Argumente in "command_2" angezeigt, nämlich "Namibia" und "China".


Wenn wir die Beschreibung unserer Datei erreichen wollen, „ArgParse.Py “, wir werden diesen„ Argparse eingeben.py -h ”in der Befehlszeile.


Anschließend wird die gesamte Beschreibung unserer Python -Datei angezeigt, in der sie "Liste der Länder" als Beschreibung bezeichnet, und die Positionsargumente hier "Befehl" sind "Befehl".

Abschluss

In diesem Artikel haben wir den Vergleich zwischen zwei Modulen von Python behandelt, die "Getopt" und "ArgParse" sind, und "ArgParse" sind. Wie wir durch die Diskussion anhand unserer Beispiele gesehen haben, haben wir festgestellt, dass Python „ArgParse“ ein effektiveres und leistungsfähigeres Modul ist als „getopt“ als „getopt“. Die ersten beiden Beispiele decken das Python "getopt" -Modul ab und die anderen beiden Beispiele decken „Argparse“ für die Systemargumente ab.