argparse-Grundlagen
Kommandozeilenargumente parsen
argparse-Grundlagen ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum argparse?
Das Modul argparse (Standardbibliothek) erstellt benutzerfreundliche Kommandozeilenschnittstellen. Es analysiert Argumente, validiert Typen und erzeugt automatisch Hilfetexte.
import argparse
parser = argparse.ArgumentParser(description='A demo tool')
print(type(parser).__name__)Einen Parser erstellen
Beginnen Sie mit dem Erstellen eines ArgumentParser. Die description wird in der automatisch erzeugten Hilfe angezeigt.
import argparse
parser = argparse.ArgumentParser(description='Greet a user')
print('parser ready')Positionsargumente
add_argument('name') definiert ein erforderliches Positionsargument. Hier übergeben wir eine Liste an parse_args, damit der Code ohne eine echte Kommandozeile ausgeführt werden kann.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('name')
args = parser.parse_args(['Alice'])
print('Hello,', args.name)Optionale Argumente
Namen, die mit -- beginnen, sind optionale Flags. Geben Sie einen default an, der verwendet wird, wenn die Benutzerin oder der Benutzer das Argument weglässt.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--greeting', default='Hi')
args = parser.parse_args(['--greeting', 'Hey'])
print(args.greeting)
print(parser.parse_args([]).greeting)Typisierte Argumente
Verwenden Sie type=int (oder float usw.), damit argparse den Wert konvertiert und validiert. Eine ungültige Eingabe erzeugt eine verständliche Fehlermeldung.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--count', type=int, default=1)
args = parser.parse_args(['--count', '5'])
print(args.count * 2)Boolesche Flags
action='store_true' erstellt ein Flag, das standardmäßig False und bei vorhandener Angabe True ist – ideal für Schalter wie --verbose.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--verbose', action='store_true')
print(parser.parse_args(['--verbose']).verbose)
print(parser.parse_args([]).verbose)Kurze und lange Namen
Geben Sie einem Argument sowohl eine kurze als auch eine lange Form, etwa -n und --name. Beide setzen dasselbe Attribut.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--name', default='world')
print(parser.parse_args(['-n', 'Sam']).name)Auswahlmöglichkeiten
Mit choices schränken Sie die zulässigen Werte ein. argparse weist alle Werte zurück, die nicht in der Liste enthalten sind.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--mode', choices=['fast', 'slow'], default='fast')
print(parser.parse_args(['--mode', 'slow']).mode)Mehrere Werte mit nargs
nargs='+' sammelt einen oder mehrere Werte in einer Liste. Das ist ideal, wenn mehrere Eingaben auf einmal akzeptiert werden sollen.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('files', nargs='+')
args = parser.parse_args(['a.txt', 'b.txt', 'c.txt'])
print(args.files)Erforderliche Optionen und Hilfe
Fügen Sie required=True hinzu, um ein optionales Flag zu erzwingen, und help=, um es im automatisch erzeugten Nutzungsbildschirm zu dokumentieren.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--id', required=True, type=int, help='record id')
args = parser.parse_args(['--id', '7'])
print('id is', args.id)Ein vollständiges Mini-Tool
Zusammen ergeben eine positionale Eingabe, eine typisierte Option und ein Flag ein kleines, aber vollständiges CLI.
import argparse
parser = argparse.ArgumentParser(description='Repeat a message')
parser.add_argument('message')
parser.add_argument('--times', type=int, default=1)
parser.add_argument('--shout', action='store_true')
args = parser.parse_args(['hello', '--times', '2', '--shout'])
text = args.message.upper() if args.shout else args.message
for _ in range(args.times):
print(text)Kurzer Test
Testen Sie Ihr Verständnis von argparse.
Zusammenfassung
Sie haben die Grundlagen von argparse kennengelernt:
ArgumentParsermit Positionsargumenten und--optional-Argumenten.type,default,choicesundrequiredvalidieren Eingaben.action='store_true'für Flags undnargsfür Listen.- Hilfetexte werden automatisch erzeugt.
Als Nächstes: Unterbefehle und eine umfassendere Optionenverarbeitung.
Häufig gestellte Fragen
Ist die Lektion „argparse-Grundlagen“ kostenlos?
Ja — der vollständige Text von „argparse-Grundlagen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „argparse-Grundlagen“?
Kommandozeilenargumente parsen Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Python Academy zu starten?
Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „argparse-Grundlagen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?
Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.