Python-Befehlszeilenargumente
Python-Befehlszeilenargumente sind Eingabeparameter, die beim Ausführen des Skripts übergeben werden. Fast alle Programmiersprachen unterstützen Befehlszeilenargumente. Außerdem gibt es Befehlszeilenoptionen, um einige spezifische Optionen für das Programm festzulegen.
Python-Befehlszeilenargumente
Es gibt viele Möglichkeiten, Python-Befehlszeilenargumente zu lesen. Die drei gebräuchlichsten sind:
- Python sys.argv
- Python getopt-Modul
- Python argparse-Modul
Lass uns ein einfaches Programm durchsehen, um zu lernen, wie man Python-Befehlszeilenargumente liest und verwendet.
Python Sys-Modul
Das Python sys-Modul speichert die Befehlszeilenargumente in einer Liste, auf die wir mit sys.argv zugreifen können. Dies ist eine sehr nützliche und einfache Möglichkeit, Befehlszeilenargumente als String zu lesen. Schauen wir uns ein einfaches Beispiel an, um Befehlszeilenargumente mit dem Python sys-Modul zu lesen und auszugeben.
import sys
print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
print(i)
Das unten stehende Bild veranschaulicht die Ausgabe eines Beispielablaufs des oben genannten Programms.
Python getopt-Modul
Das Python getopt-Modul funktioniert sehr ähnlich wie die C-Funktion getopt() zum Parsen von Befehlszeilenparametern. Das Python getopt-Modul ist nützlich zum Parsen von Befehlszeilenargumenten, wenn wir möchten, dass der Benutzer auch einige Optionen eingibt. Lassen Sie uns ein einfaches Beispiel ansehen, um dies zu verstehen.
import getopt
import sys
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
print(opts)
print(args)
except getopt.GetoptError:
# Print a message or do something useful
print('Something went wrong!')
sys.exit(2)
Das obige Beispiel ist sehr einfach, aber wir können es leicht erweitern, um verschiedene Dinge zu tun. Wenn beispielsweise die Hilfe-Option übergeben wird, drucken Sie eine benutzerfreundliche Nachricht aus und beenden Sie das Programm. Das getopt-Modul wird automatisch den Optionswert analysieren und diese zuordnen. Das untenstehende Bild zeigt eine beispielhafte Ausführung.
Python argparse-Modul
Das Python argparse-Modul ist die bevorzugte Methode zum Parsen von Befehlszeilenargumenten. Es bietet viele Optionen wie Positionsargumente, Standardwerte für Argumente, Hilfenachrichten, die Angabe des Datentyps von Argumenten usw. In der einfachsten Form können wir es wie folgt verwenden.
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
Unten ist die Ausgabe eines schnellen Durchlaufs des obigen Skripts.
- sys.argv
- getopt-Modul
- argparse-Modul



