0Pricing
Python Academy · Aula

A biblioteca Click

Crie CLIs com decoradores

A biblioteca Click é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

O que é Click?

Click é uma biblioteca popular de terceiros para criar interfaces de linha de comando usando decoradores. Ela lida com análise, texto de ajuda, solicitações e cores com pouquíssimo código. Instale-a com pip install click.

import click

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

# hello() would run when called as a script

click.echo

Use click.echo() em vez de print. Ele lida com problemas de codificação e funciona perfeitamente com os recursos de cor e redirecionamento do Click.

import click

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

Argumentos

O decorador @click.argument declara um argumento posicional obrigatório que Click passa à sua função como parâmetro.

import click

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

Opções

@click.option define sinalizadores opcionais. Forneça um valor padrão e Click criará automaticamente o texto de ajuda e o tratamento de tipos.

import click

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

Opções tipadas

Click deduz o tipo a partir do valor padrão, ou você pode defini-lo explicitamente com type=int. Uma entrada inválida produz um erro amigável.

import click

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

Sinalizadores booleanos

Uma opção com is_flag=True torna-se um interruptor que vale True quando está presente, como --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)

Solicitações

Defina prompt=True e Click perguntará interativamente ao usuário caso a opção não tenha sido fornecida na linha de comando.

import click

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

Grupos de comandos

@click.group cria um comando-pai que contém subcomandos, o equivalente do Click aos subanalisadores de argparse. Os subcomandos são associados com @cli.command().

import click

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

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

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

Saída colorida

click.style envolve o texto com cor e estilo, enquanto click.secho combina a exibição com a aplicação de estilo em uma única chamada.

import click

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

Confirmação e encerramento

click.confirm faz uma pergunta de sim ou não, e gerar click.Abort ou retornar encerra o comando de forma limpa.

import click

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

argparse versus Click

argparse é integrado ao Python e excelente para ferramentas simples. Click é uma dependência externa, mas oferece um estilo mais limpo baseado em decoradores, grupos aninhados, solicitações e cores prontos para uso em CLIs maiores.

import click

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

Verificação rápida

Teste sua compreensão de Click.

Recapitulação

Você aprendeu sobre a biblioteca Click:

  • Os decoradores @click.command, @click.argument e @click.option definem uma CLI.
  • click.echo e click.secho exibem texto, opcionalmente com cor.
  • @click.group cria subcomandos aninhados; solicitações e confirmações já estão incluídas.
  • É uma dependência externa instalada por meio do pip.

Próximo tópico: estilizando a saída do terminal com rich.

Perguntas Frequentes

A aula “A biblioteca Click” é grátis?

Sim — o texto completo de “A biblioteca Click” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “A biblioteca Click”?

Crie CLIs com decoradores Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “A biblioteca Click”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Noções básicas de argparse
  2. Subcomandos e opções
  3. A biblioteca Click
  4. Saída rica do terminal
← Voltar para Python Academy