Die Click-Bibliothek
CLIs mit Decorators erstellen
Die Click-Bibliothek ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.
Was ist Click?
Click ist eine beliebte Bibliothek eines Drittanbieters zum Erstellen von Kommandozeilenschnittstellen mithilfe von Decorators. Sie übernimmt das Parsen, Hilfetexte, Eingabeaufforderungen und Farben mit sehr wenig Code. Installieren Sie sie mit pip install click.
import click
@click.command()
def hello():
click.echo('Hello from Click')
# hello() would run when called as a scriptclick.echo
Verwenden Sie click.echo() statt print. Die Funktion behandelt Probleme mit der Zeichenkodierung und arbeitet reibungslos mit den Farb- und Umleitungsfunktionen von Click zusammen.
import click
@click.command()
def greet():
click.echo('Welcome!')
Argumente
Der Decorator @click.argument deklariert ein erforderliches Positionsargument, das Click Ihrer Funktion als Parameter übergibt.
import click
@click.command()
@click.argument('name')
def hello(name):
click.echo('Hello ' + name)
Optionen
@click.option definiert optionale Flags. Geben Sie einen Standardwert an, und Click erstellt automatisch Hilfetexte und eine Typverarbeitung.
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
for _ in range(count):
click.echo('Hi')
Typisierte Optionen
Click leitet den Typ aus dem Standardwert ab. Alternativ können Sie ihn mit type=int explizit festlegen. Eine ungültige Eingabe erzeugt eine verständliche Fehlermeldung.
import click
@click.command()
@click.option('--age', type=int, default=0)
def show(age):
click.echo('Age is ' + str(age))
Boolesche Flags
Eine Option mit is_flag=True wird zu einem Schalter, der bei vorhandener Angabe True ist, etwa --verbose.
import click
@click.command()
@click.option('--shout', is_flag=True)
@click.argument('text')
def say(shout, text):
click.echo(text.upper() if shout else text)
Eingabeaufforderungen
Setzen Sie prompt=True, und Click fragt interaktiv nach, wenn die Option nicht in der Kommandozeile angegeben wurde.
import click
@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
click.echo('Hello ' + name)
Befehlsgruppen
@click.group erstellt einen übergeordneten Befehl, der Unterbefehle enthält – das Click-Gegenstück zu den Subparsern von argparse. Unterbefehle werden mit @cli.command() angefügt.
import click
@click.group()
def cli():
pass
@cli.command()
def start():
click.echo('starting')
@cli.command()
def stop():
click.echo('stopping')
Farbausgabe
click.style umgibt Text mit Farbe und Formatierungen, während click.secho die Ausgabe und Formatierung in einem Aufruf kombiniert.
import click
@click.command()
def status():
click.secho('OK', fg='green', bold=True)
click.secho('Error', fg='red')
Bestätigung und Beenden
click.confirm stellt eine Ja/Nein-Frage. Das Auslösen von click.Abort oder eine Rückgabe beendet den Befehl ordnungsgemäß.
import click
@click.command()
def delete():
if click.confirm('Are you sure?'):
click.echo('deleted')
else:
click.echo('cancelled')
argparse oder Click
argparse ist integriert und eignet sich hervorragend für einfache Werkzeuge. Click ist eine externe Abhängigkeit, bietet aber für umfangreichere CLIs einen übersichtlicheren Decorator-Stil, verschachtelte Gruppen, Eingabeaufforderungen und sofort verfügbare Farbausgabe.
import click
@click.command()
@click.argument('items', nargs=-1)
def show(items):
for item in items:
click.echo(item)
Kurzer Test
Testen Sie Ihr Verständnis von Click.
Zusammenfassung
Sie haben die Bibliothek Click kennengelernt:
- Die Decorators
@click.command,@click.argumentund@click.optiondefinieren ein CLI. click.echoundclick.sechogeben Text aus, optional auch mit Farbe.@click.grouperstellt verschachtelte Unterbefehle; Eingabeaufforderungen und Bestätigungen sind integriert.- Click ist eine externe Abhängigkeit und wird über pip installiert.
Als Nächstes: Terminalausgaben mit rich formatieren.
Häufig gestellte Fragen
Ist die Lektion „Die Click-Bibliothek“ kostenlos?
Ja — der vollständige Text von „Die Click-Bibliothek“ 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 „Die Click-Bibliothek“?
CLIs mit Decorators erstellen 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 3 von 4.
Wie lange dauert die Lektion „Die Click-Bibliothek“?
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.
Alle Lektionen in diesem Kurs
- argparse-Grundlagen
- Unterbefehle und Optionen
- Die Click-Bibliothek
- Ausdrucksstarke Terminalausgaben