Click-biblioteket
Opret CLI'er med decorators
Click-biblioteket er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.
Hvad er Click?
Click er et populært tredjepartsbibliotek til opbygning af kommandolinjegrænseflader ved hjælp af dekoratorer. Det håndterer fortolkning, hjælpetekst, interaktive spørgsmål og farver med meget lidt kode. Installér det med pip install click.
import click
@click.command()
def hello():
click.echo('Hello from Click')
# hello() would run when called as a scriptclick.echo
Brug click.echo() i stedet for print. Det håndterer kodningsproblemer og fungerer problemfrit med Clicks funktioner til farver og omdirigering.
import click
@click.command()
def greet():
click.echo('Welcome!')
Argumenter
Dekoratoren @click.argument erklærer et påkrævet positionsargument, som Click sender til din funktion som en parameter.
import click
@click.command()
@click.argument('name')
def hello(name):
click.echo('Hello ' + name)
Valgmuligheder
@click.option definerer valgfrie flag. Angiv en standardværdi, så opbygger Click automatisk hjælpetekst og håndtering af typer.
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
for _ in range(count):
click.echo('Hi')
Valgmuligheder med typer
Click udleder typen fra standardværdien, eller du kan angive den eksplicit med type=int. Ugyldigt input giver en brugervenlig fejl.
import click
@click.command()
@click.option('--age', type=int, default=0)
def show(age):
click.echo('Age is ' + str(age))
Booleske flag
En valgmulighed med is_flag=True bliver til et flag, der er True, når det angives, f.eks. --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)
Interaktive spørgsmål
Sæt prompt=True, så spørger Click brugeren interaktivt, hvis valgmuligheden ikke blev angivet på kommandolinjen.
import click
@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
click.echo('Hello ' + name)
Kommandogrupper
@click.group opretter en overordnet kommando, der indeholder underkommandoer. Det svarer til argparse-subparsers. Underkommandoer tilknyttes med @cli.command().
import click
@click.group()
def cli():
pass
@cli.command()
def start():
click.echo('starting')
@cli.command()
def stop():
click.echo('stopping')
Farvet udskrift
click.style omslutter tekst med farve og formatering, mens click.secho kombinerer udskrift og formatering i ét kald.
import click
@click.command()
def status():
click.secho('OK', fg='green', bold=True)
click.secho('Error', fg='red')
Bekræftelse og afslutning
click.confirm stiller et ja/nej-spørgsmål, og hvis du rejser click.Abort eller returnerer, afsluttes kommandoen på en ryddelig måde.
import click
@click.command()
def delete():
if click.confirm('Are you sure?'):
click.echo('deleted')
else:
click.echo('cancelled')
argparse kontra Click
argparse er indbygget og velegnet til enkle værktøjer. Click er en ekstern afhængighed, men tilbyder en renere dekoratorstil, indlejrede grupper, interaktive spørgsmål og farver direkte fra start til større kommandolinjegrænseflader.
import click
@click.command()
@click.argument('items', nargs=-1)
def show(items):
for item in items:
click.echo(item)
Hurtig afprøvning
Afprøv din forståelse af Click.
Opsamling
Du har lært om Click-biblioteket:
- Dekoratorerne
@click.command,@click.argumentog@click.optiondefinerer en kommandolinjegrænseflade. click.echoogclick.sechoskriver tekst ud, eventuelt med farve.@click.groupopbygger indlejrede underkommandoer; interaktive spørgsmål og bekræftelser er indbygget.- Det er en ekstern afhængighed, der installeres via pip.
Næste emne: formatering af terminaludskrift med rich.
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 76
- Lektioner
- 320
Ofte stillede spørgsmål
Er lektionen “Click-biblioteket” gratis?
Ja — hele teksten til “Click-biblioteket” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Click-biblioteket”?
Opret CLI'er med decorators Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Python Academy?
Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Click-biblioteket”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Python Academy-lektion?
Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Grundlæggende om argparse
- Underkommandoer og indstillinger
- Click-biblioteket
- Indholdsrigt terminaloutput