Python-Befehlszeilenargumente sind Eingabeparameter, die dem Skript übergeben werden, wenn sie ausgeführt werden. Fast alle Programmiersprachen bieten Unterstützung für Befehlszeilenargumente. Dann haben wir auch Befehlszeilenoptionen, um bestimmte Optionen für das Programm festzulegen.
Python-Befehlszeilenargumente
Es gibt viele Möglichkeiten, Python-Befehlszeilenargumente zu lesen. Die drei häufigsten sind:
- Python sys.argv
- Python getopt-Modul
- Python argparse-Modul
Lassen Sie uns ein einfaches Programm durchgehen, 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 über sys.argv
zugreifen können. Dies ist eine sehr nützliche und einfache Möglichkeit, Befehlszeilenargumente als Zeichenfolge zu lesen. Lassen Sie uns ein einfaches Beispiel betrachten, um Befehlszeilenargumente mit dem Python-sys-Modul zu lesen und zu drucken.
import sys
print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
print(i)
Untenstehendes Bild veranschaulicht die Ausgabe eines Beispiellaufs des oben genannten Programms. Es gibt viele andere nützliche Funktionen im sys-Modul. Lesen Sie sie im Detail unter Python sys Modul.
Python getopt Modul
Das Python getopt Modul funktioniert ähnlich wie die C-Funktion getopt()
zum Parsen von Befehlszeilenparametern. Das Python getopt Modul eignet sich gut zum Analysieren von Befehlszeilenargumenten, bei denen der Benutzer auch einige Optionen eingeben soll. Schauen wir uns dazu ein einfaches Beispiel an.
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:
# Geben Sie eine Nachricht aus oder tun Sie etwas Nützliches
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 Hilfeoption übergeben wird, können Sie eine benutzerfreundliche Nachricht ausgeben und das Programm beenden. Das getopt-Modul analysiert automatisch die Optionswerte und ordnet sie zu. Untenstehendes Bild zeigt einen Beispiellauf. Um mehr zu erfahren, lesen Sie Python getopt Modul.
Python argparse Modul
Das Python argparse-Modul ist der bevorzugte Weg, um Befehlszeilenargumente zu analysieren. Es bietet viele Optionen wie positionale Argumente, Standardwert für Argumente, Hilfemeldung, Angabe des Datentyps des Arguments 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 Laufs des obigen Skripts. Das Python argparse-Modul bietet viele Funktionen, über die Sie in einem Tutorial zur Python-Argumentanalyse lesen sollten, um ein klares Verständnis zu erhalten. Das ist alles für verschiedene Optionen zum Lesen und Analysieren von Befehlszeilenargumenten in Python. Sie sollten entscheiden, welche für Ihre spezifischen Anforderungen geeignet ist, und sie dann verwenden. Referenzen:
Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments