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 scriptclick.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.argumenti@click.optiondefiniują interfejs wiersza poleceń. click.echoiclick.sechowyświetlają tekst, opcjonalnie z kolorami.@click.grouptworzy 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.