Grundlagen der Kommandozeilenargumente in Python
Der Umgang mit Kommandozeilenargumenten ist eine grundlegende Fähigkeit für die Entwicklung benutzerfreundlicher und flexibler Python-Skripte. Anstatt Daten fest im Code zu hinterlegen, können Entwickler Parameter direkt beim Programmstart übergeben. In Python wird hierfür meist das Modul argparse verwendet, das Teil der Standardbibliothek ist und eine leistungsstarke Funktionalität zur Verarbeitung von Argumenten bietet.
Vorteile von Kommandozeilenargumenten
Die Nutzung von Kommandozeilenargumenten in Python bietet Entwicklern zahlreiche Vorteile:
- Höhere Flexibilität des Programms durch Änderung des Verhaltens ohne Code-Anpassung
- Möglichkeit, das Programmverhalten ohne Quellcode-Änderungen zu steuern
- Einfache Automatisierung von Aufgaben und Erstellung von CLI-Tools
- Leichte Integration von Skripten in Pipelines und CI/CD-Prozesse
- Vereinfachtes Testen des Programms mit verschiedenen Parametern
Beispiele für Programme mit Kommandozeilenargumenten
Viele bekannte Tools nutzen Kommandozeilenargumente:
- Paketmanager (pip, apt, yarn)
- Dateiverarbeitungstools (tar, zip, rsync)
- Build-Systeme (make, cmake, gradle)
- Entwicklungstools (git, docker, kubectl)
- Eigene Skripte zur Automatisierung von Arbeitsabläufen
Import und Einrichtung des argparse-Moduls
Das Modul argparse ist seit Python 2.7 und 3.2 in der Standardbibliothek enthalten. Eine zusätzliche Installation ist nicht erforderlich.
import argparse
Erstellen eines einfachen Parsers
Um mit Argumenten zu arbeiten, erstellst du eine Instanz der Klasse ArgumentParser:
parser = argparse.ArgumentParser(description="Programmbeschreibung")
Erstes Beispiel mit argparse
Hier siehst du ein einfaches Skript, das einen Benutzernamen entgegennimmt und eine persönliche Begrüßung ausgibt:
import argparse
parser = argparse.ArgumentParser(description="Einfaches Begrüßungsprogramm")
parser.add_argument("name", help="Benutzername")
args = parser.parse_args()
print(f"Hallo, {args.name}!")
Das Skript wird wie folgt ausgeführt:
python script.py Max
Ergebnis der Ausführung:
Hallo, Max!
Arten von Argumenten in argparse
Pflichtargumente
Pflichtargumente sind Parameter, ohne die das Programm nicht gestartet werden kann. Sie werden ohne Präfixe definiert und müssen vom Benutzer zwingend übergeben werden.
parser.add_argument("filename", help="Name der zu verarbeitenden Datei")
parser.add_argument("output_dir", help="Verzeichnis zum Speichern der Ergebnisse")
Optionale Argumente
Optionale Argumente beginnen in der Regel mit einem einzelnen Bindestrich (-) für die Kurzform oder einem doppelten Bindestrich (--) für die Langform. Sie erweitern die Funktionalität des Programms.
parser.add_argument("-v", "--verbose", help="Detaillierte Ausgabe anzeigen", action="store_true")
parser.add_argument("-o", "--output", help="Datei zum Speichern der Ergebnisse")
Datentypen von Argumenten
Standardmäßig werden alle Argumente als Zeichenketten behandelt. Mit dem Parameter type kannst du einen anderen Datentyp festlegen:
parser.add_argument("number", type=int, help="Gib eine ganze Zahl ein")
parser.add_argument("price", type=float, help="Preis des Artikels")
parser.add_argument("enabled", type=bool, help="Funktion aktivieren")
Bei der Übergabe von n