Python Kommandozeilenargumente: Grundlagen und Praxis

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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

Blogs

Buchempfehlungen