0Pricing
Python Academy · Lekcja

Biblioteka Click

Twórz interfejsy CLI za pomocą dekoratorów

Biblioteka Click to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Czym jest Click?

Click to popularna biblioteka zewnętrzna do tworzenia interfejsów wiersza poleceń za pomocą dekoratorów. Przy bardzo niewielkiej ilości kodu obsługuje analizowanie argumentów, tekst pomocy, monity i kolory. Należy zainstalować ją poleceniem pip install click.

import click

@click.command()
def hello():
    click.echo('Hello from Click')

# hello() would run when called as a script

click.echo

Należy używać click.echo() zamiast print. Funkcja ta obsługuje problemy z kodowaniem i płynnie współpracuje z funkcjami Click dotyczącymi kolorów i przekierowywania.

import click

@click.command()
def greet():
    click.echo('Welcome!')

Argumenty

Dekorator @click.argument deklaruje wymagany argument pozycyjny, który Click przekazuje do funkcji jako parametr.

import click

@click.command()
@click.argument('name')
def hello(name):
    click.echo('Hello ' + name)

Opcje

@click.option definiuje opcjonalne flagi. Wystarczy podać wartość domyślną, a Click automatycznie utworzy tekst pomocy i obsługę typów.

import click

@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
    for _ in range(count):
        click.echo('Hi')

Opcje z określonym typem

Click wywnioskuje typ na podstawie wartości domyślnej. Można też ustawić go jawnie za pomocą type=int. Nieprawidłowe dane wejściowe powodują wyświetlenie przyjaznego komunikatu o błędzie.

import click

@click.command()
@click.option('--age', type=int, default=0)
def show(age):
    click.echo('Age is ' + str(age))

Flagi logiczne

Opcja z is_flag=True staje się przełącznikiem, którego wartością jest True po podaniu, na przykład --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)

Monity

Po ustawieniu prompt=True Click interaktywnie poprosi użytkownika o wartość, jeśli opcja nie została podana w wierszu poleceń.

import click

@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
    click.echo('Hello ' + name)

Grupy poleceń

@click.group tworzy polecenie nadrzędne zawierające podkomendy — jest to odpowiednik subparserów argparse w bibliotece Click. Podkomendy dołącza się za pomocą @cli.command().

import click

@click.group()
def cli():
    pass

@cli.command()
def start():
    click.echo('starting')

@cli.command()
def stop():
    click.echo('stopping')

Kolorowe dane wyjściowe

click.style otacza tekst kolorem i stylami, a click.secho łączy wyświetlanie tekstu ze stylowaniem w jednym wywołaniu.

import click

@click.command()
def status():
    click.secho('OK', fg='green', bold=True)
    click.secho('Error', fg='red')

Potwierdzenie i zakończenie

click.confirm zadaje pytanie typu tak/nie, a zgłoszenie click.Abort lub zwrócenie wartości kończy polecenie w uporządkowany sposób.

import click

@click.command()
def delete():
    if click.confirm('Are you sure?'):
        click.echo('deleted')
    else:
        click.echo('cancelled')

argparse a Click

argparse jest wbudowany w Pythona i świetnie nadaje się do prostych narzędzi. Click jest zewnętrzną zależnością, ale w przypadku większych interfejsów wiersza poleceń oferuje przejrzystszy styl oparty na dekoratorach, zagnieżdżone grupy, monity i kolory dostępne od razu.

import click

@click.command()
@click.argument('items', nargs=-1)
def show(items):
    for item in items:
        click.echo(item)

Szybki sprawdzian

Sprawdź swoje zrozumienie biblioteki Click.

Podsumowanie

Poznałeś bibliotekę Click:

  • Dekoratory @click.command, @click.argument i @click.option definiują interfejs wiersza poleceń.
  • click.echo i click.secho wyświetlają tekst, opcjonalnie z kolorami.
  • @click.group tworzy zagnieżdżone podkomendy, a monity i potwierdzenia są wbudowane.
  • Jest to zewnętrzna zależność instalowana za pomocą pip.

Następny temat: stylowanie danych wyjściowych terminala za pomocą rich.

Często zadawane pytania

Czy lekcja „Biblioteka Click” jest bezpłatna?

Tak — pełny tekst „Biblioteka Click” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Biblioteka Click”?

Twórz interfejsy CLI za pomocą dekoratorów Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Biblioteka Click”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy argparse
  2. Podkomendy i opcje
  3. Biblioteka Click
  4. Bogate dane wyjściowe terminala
← Powrót do Python Academy