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 scriptclick.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.argumente@click.optiondefinem uma CLI. click.echoeclick.sechoexibem texto, opcionalmente com cor.@click.groupcria 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
- Noções básicas de argparse
- Subcomandos e opções
- A biblioteca Click
- Saída rica do terminal