Die Argumente, die nach dem Namen des Programms in der Befehlszeilen-Shell des Betriebssystems angegeben werden, heißen Kommandozeilenargumente . Python bietet verschiedene Möglichkeiten, mit dieser Art von Argumenten umzugehen. Die drei häufigsten sind:
Verwenden von sys.argv
Das sys-Modul stellt Funktionen und Variablen bereit, mit denen verschiedene Teile der Python-Laufzeitumgebung manipuliert werden können. Dieses Modul bietet Zugriff auf einige vom Interpreter verwendete oder verwaltete Variablen sowie auf Funktionen, die stark mit dem Interpreter interagieren.
Eine solche Variable ist sys.argv, eine einfache Listenstruktur. Sein Hauptzweck ist:
- Es handelt sich um eine Liste von Befehlszeilenargumenten.
- len(sys.argv) stellt die Anzahl der Befehlszeilenargumente bereit.
- sys.argv[0] ist der Name des aktuellen Python-Skripts.
Beispiel: Nehmen wir an, es gibt ein Python-Skript zum Addieren zweier Zahlen und die Zahlen werden als Befehlszeilenargumente übergeben.
Python3
# Python program to demonstrate> # command line arguments> import> sys> # total arguments> n>=> len>(sys.argv)> print>(>'Total arguments passed:'>, n)> # Arguments passed> print>(>'
Name of Python script:'>, sys.argv[>0>])> print>(>'
Arguments passed:'>, end>=> ' '>)> for> i>in> range>(>1>, n):> >print>(sys.argv[i], end>=> ' '>)> > # Addition of numbers> Sum> => 0> # Using argparse module> for> i>in> range>(>1>, n):> >Sum> +>=> int>(sys.argv[i])> > print>(>'
Result:'>,>Sum>)> |
>
>
Ausgabe:

Verwendung des getopt-Moduls
Python getopt-Modul ähnelt der Funktion getopt() von C. Im Gegensatz zum sys-Modul erweitert das getopt-Modul die Trennung der Eingabezeichenfolge durch Parametervalidierung. Es ermöglicht sowohl kurze als auch lange Optionen einschließlich einer Wertzuweisung. Dieses Modul erfordert jedoch die Verwendung des sys-Moduls, um Eingabedaten ordnungsgemäß zu verarbeiten. Um das getopt-Modul verwenden zu können, muss das erste Element aus der Liste der Befehlszeilenargumente entfernt werden.
Syntax: getopt.getopt(args, options, [long_options])
Parameter:
Argumente: Liste der zu übergebenden Argumente.
Optionen: Zeichenfolge von Optionsbuchstaben, die das Skript erkennen möchte. Auf Optionen, die ein Argument erfordern, sollte ein Doppelpunkt (:) folgen.
long_options: Liste der Zeichenfolgen mit dem Namen langer Optionen. Auf Optionen, die Argumente erfordern, sollte ein Gleichheitszeichen (=) folgen.
Rückgabetyp: Gibt einen Wert zurück, der aus zwei Elementen besteht: Das erste ist eine Liste von (Options-, Wert-)Paaren. Die zweite ist die Liste der Programmargumente, die nach dem Entfernen der Optionsliste übrig geblieben sind.
df.loc
Beispiel:
Python3
# Python program to demonstrate> # command line arguments> import> getopt, sys> # Remove 1st argument from the> # list of command line arguments> argumentList>=> sys.argv[>1>:]> # Options> options>=> 'hmo:'> # Long options> long_options>=> [>'Help'>,>'My_file'>,>'Output='>]> try>:> ># Parsing argument> >arguments, values>=> getopt.getopt(argumentList, options, long_options)> > ># checking each argument> >for> currentArgument, currentValue>in> arguments:> >if> currentArgument>in> (>'-h'>,>'--Help'>):> >print> (>'Displaying Help'>)> > >elif> currentArgument>in> (>'-m'>,>'--My_file'>):> >print> (>'Displaying file_name:'>, sys.argv[>0>])> > >elif> currentArgument>in> (>'-o'>,>'--Output'>):> >print> ((>'Enabling special output mode (% s)'>)>%> (currentValue))> > except> getopt.error as err:> ># output error, and return with an error code> >print> (>str>(err))> |
>
>
Ausgabe:
Unterschied zwischen Abendessen und Abendessen

Verwendung des argparse-Moduls
Die Verwendung des Moduls argparse ist eine bessere Option als die beiden oben genannten Optionen, da es viele Optionen wie Positionsargumente, Standardwerte für Argumente, Hilfemeldung, Angabe des Datentyps des Arguments usw. bietet.
Notiz: Als optionales Standardargument enthält es -h zusammen mit seiner Langversion –help.
Beispiel 1: Grundlegende Verwendung des argparse-Moduls.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Ausgabe:

Beispiel 2: Beschreibung zur Hilfemeldung hinzufügen.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
Zeile Autocad-Befehl
>
Ausgabe:

Beispiel 3: Definieren eines optionalen Werts
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> # Adding optional argument> parser.add_argument(>'-o'>,>'--Output'>,>help> => 'Show Output'>)> # Read arguments from command line> args>=> parser.parse_args()> if> args.Output:> >print>(>'Displaying Output as: % s'> %> args.Output)> |
>
>
Ausgabe:
