====== LU10b - Komplexe Argumente ======
Das Modul ''argparse'' ermöglicht es, benannte Argumente, Pflichtargumente und optionale Argumente zu definieren und dabei die Benutzerfreundlichkeit zu erhöhen.
Das Modul [[https://docs.python.org/3/library/argparse.html|argparse]] wird unter anderem beim Python-Webapplikationen eingesetzt, um die Eingabewerte in einem Formular zu prüfen.
Bei systemnahen Scripts nutzen wir vor allem die Möglichkeiten Parameter mit Schlüsselwörtern (z.B. ''-n 3'') und optionale Parameter zu definieren.
==== Wichtige Funktionen von argparse ====
* ''add_argument()'': Definiert, welche Argumente akzeptiert werden, ob sie erforderlich sind oder ob sie Optionen (mit Präfix wie -v oder --verbose) sind.
* ''parse_args()'': Parst die Argumente und gibt ein Objekt zurück, mit dem Sie auf die übergebenen Werte zugreifen können.
* ''action="store_true"'': Aktiviert eine Option ohne zusätzlichen Wert, z. B. für Schalter wie --verbose.
* ''help'': Kann für die automatische Generierung von Hilfetexten für die Argumente verwendet werden.
==== Beispiel ====
import argparse
def main():
# Create the ArgumentParser
parser = argparse.ArgumentParser(description='Simple Example')
# Add some arguments
parser.add_argument('arg1', help='First argument')
parser.add_argument('arg2', help='Second argument')
parser.add_argument('-v', '--verbose', help='Shows more information about the scripts', action='store_true')
# Parse the argument
args = parser.parse_args()
# Print the arguments
print(f'Argument 1: {args.arg1}')
print(f'Argument 2: {args.arg2}')
# Check the verbose switch
if args.verbose:
print('Verbose mode active!')
if __name__ == '__main__':
main()
----
{{tag>M122-LU10}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter