Wenn Sie ein Python -Skript oder eine Anwendung entwickelt haben, die in erster Linie in Terminal -Emulatoren oder sogar GUI -Apps ausgeführt werden soll, kann das Hinzufügen von Befehlszeilenargumenten deren Verwendbarkeit, Code -Lesbarkeit, Anwendungsstruktur und allgemeine Benutzerfreundlichkeit der Anwendung für die Endbenutzer verbessern. Diese Befehlszeilenargumente werden auch als "Optionen" oder "Switches" bezeichnet und funktionieren ähnlich wie bei Argumenten, die Sie normalerweise in Bash -Skripten und anderen C / C ++ -Basierten Programmen sehen.
Um Python-Skripten Argumente hinzuzufügen, müssen Sie ein integriertes Modul mit dem Namen "ArgParse" verwenden. Wie der Name schon sagt, analysiert er die Befehlszeilenargumente, die beim Starten eines Python -Skripts oder einer Anwendung verwendet werden. Diese analysierten Argumente werden auch vom Modul „ArgParse“ überprüft, um sicherzustellen, dass sie vom richtigen "Typ" sind. Fehler werden aufgeworfen, wenn Argumente ungültige Werte enthalten.
Die Verwendung des Argparse -Moduls kann am besten anhand von Beispielen verstanden werden. Im Folgenden finden Sie einige Code -Beispiele, mit denen Sie mit dem ArgParse -Modul beginnen können.
Beispiel 1: Generieren Sie Hilfe mit Hilfe und Nachricht
Betrachten Sie die nachstehende Codeprobe:
Argparse importierenDie erste Aussage importiert das "ArgParse" -Modul. Als nächstes wird eine neue Instanz von „ArgumentParser“ -Objekt erstellt und eine kurze Beschreibung für das Programm wird als Argument geliefert. Das ArgumentParser -Objekt wird benötigt, um die von Python verstandenen Datentypen in Befehlszeilen zu konvertieren. Dies erfolgt durch die Methode „Parse_args“ des ArgumentParser -Objekts, wie in der letzten Aussage gezeigt.
Angenommen, Sie haben das oben angegebene Code -Beispiel in einer Datei mit dem Namen „Test" gespeichert.PY ”Wenn Sie die folgenden Befehle ausführen.
$ ./prüfen.py -hSie sollten eine ähnliche Ausgabe wie folgt erhalten:
Verwendung: Test.py [-h]Beachte. Hilfsnachrichten für individuelle Argumente werden daher in der Ausgabe nicht angezeigt. Sobald Sie die Logik für die Behandlung von Werten von analysierten Argumenten in Ihrem Programm hinzufügen.
Beispiel 2: Behandeln Sie ein String -Argument
Um Argumente hinzuzufügen, die von Ihrem Python -Skript akzeptabel sind, müssen Sie die Methode "add_argument" verwenden. Schauen Sie sich den folgenden Code an:
Argparse importierenEs wurde eine neue Anweisung hinzugefügt, die die Verwendung der Methode „add_argument“ zeigt. Jedes Argument, das beim Starten des Skripts hinzugefügt wird, wird von "ArgumentParser" als "print_string" -Objekt behandelt.
Beachte. Ein Standardwert von "None" wird auch hinzugefügten Argumenten zugeordnet, sofern nicht überschrieben.
Schauen Sie sich noch einmal die Hilfe zur Hilfe an:
Verwendung: Test.py [-h] [print_string]In einer der Zeilen in der Ausgabe heißt es „Positionsargumente“. Da kein Schlüsselwort für das Argument definiert ist, wird derzeit das Argument als „Positionsargument“ behandelt, bei dem die Ordnung und Position des angegebenen Arguments direkt auf das Programm auswirkt. Positionsargumente sind ebenfalls obligatorisch, es sei denn, Sie ändern ihr Verhalten manuell.
Um optionale Argumente zu definieren und zu analysieren, können Sie „-“ (Double Dash) verwenden und ihre Standardwerte mithilfe des Arguments „Standard“ ändern und ändern.
Argparse importierenJetzt, wenn Sie "Test" ausführen.Py ”-Skript ohne Argument, Sie sollten eine zufällige Zeichenfolge erhalten.”Als Ausgabe. Sie können optional auch das Schlüsselwort "-print_string" verwenden, um eine beliebige Zeichenfolge Ihrer Wahl zu drucken.
$ ./prüfen.PY -print_string linuxHint.com LinuxHint.comBeachten Sie, dass Sie ein optionales Argument vornehmen können, indem Sie ein zusätzliches Argument „Erforderlich = True“ verwenden.
Schließlich können Sie auch Kurzversionen des Arguments mit „-“ (Einzelhaben) definieren, um die Ausführlichkeit zu verringern.
Argparse importierenWenn Sie den folgenden Befehl ausführen, sollten Sie das gleiche Ergebnis wie oben geben:
$ ./prüfen.py -p linuxHint.comBeispiel 3: Behandeln Sie ein ganzzahliges Argument
Um Argumente zu bewältigen, die ganzzahlige Werte benötigen, müssen Sie das Schlüsselwort "Typ" auf "int" festlegen, um Validierung zu ermöglichen und Fehler zu werfen, falls die Bedingung nicht erfüllt ist.
Argparse importierenVersuchen Sie, den folgenden Befehl auszuführen:
$ ./prüfen.py -p linuxHint.comSie sollten einen solchen Fehler bekommen:
Verwendung: Test.py [-h] [-p print_string]Durch die Lieferung eines Ganzzahlwerts gibt es Ihnen das korrekte Ergebnis:
$ ./prüfen.py -p 1000 1000Beispiel 4: Behandeln Sie wahre und falsche Umschaltungen
Sie können Argumente ohne Werte übergeben, um sie mithilfe des Arguments „Aktion“ als wahre und falsche Flaggen zu behandeln.
Argparse importierenFühren Sie den folgenden Befehl aus, um ein einfaches „True“ als Ausgabe zu erhalten:
$ ./prüfen.py -pWenn Sie das Skript ohne das Argument "-P" ausführen, wird stattdessen ein "falscher" Wert zugewiesen. Der Wert "store_true" des Schlüsselworts "Aktion" weist der Variablen "print_string" einen "wahren" Wert zu, wenn das Argument "-P" explizit angegeben ist, andernfalls wird der Variablen Falsch zugewiesen.
Beispiel 5: Argumentwerte als Liste behandeln
Wenn Sie mehrere Werte gleichzeitig abrufen und in der Liste speichern möchten, müssen Sie das Schlüsselwort „Nargs“ im folgenden Format angeben:
Argparse importierenFühren Sie den folgenden Befehl aus, um den obigen Code zu testen:
$ ./prüfen.PY -P "A" B "Sie sollten eine solche Ausgabe erhalten:
['a', 'b']Abschluss
Das "ArgParse" -Modul ist ziemlich umfassend mit unzähligen Optionen, um das Verhalten von Befehlszeilenanwendungen zu optimieren und benutzergelieferte Werte zu analysieren. Diese Beispiele berühren nur die grundlegende Verwendung des „ArgParse“ -Moduls. Für fortschrittliche und komplexe Anwendungen benötigen Sie möglicherweise unterschiedliche Implementierungen. Besuchen Sie die offizielle Dokumentation, um eine vollständige Erklärung des Moduls zu erhalten.