La biblioteca Click
Cree CLI con decoradores
La biblioteca Click es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
¿Qué es Click?
Click es una biblioteca popular de terceros para crear interfaces de línea de comandos mediante decoradores. Gestiona el análisis de argumentos, el texto de ayuda, las solicitudes de entrada y los colores con muy poco código. Instálela con 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() en lugar de print. Gestiona los problemas de codificación y funciona sin complicaciones con las funciones de color y redirección de Click.
import click
@click.command()
def greet():
click.echo('Welcome!')
Argumentos
El decorador @click.argument declara un argumento posicional obligatorio que Click pasa a su función como parámetro.
import click
@click.command()
@click.argument('name')
def hello(name):
click.echo('Hello ' + name)
Opciones
@click.option define opciones opcionales. Proporcione un valor predeterminado y Click generará automáticamente el texto de ayuda y gestionará los tipos.
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings')
def hello(count):
for _ in range(count):
click.echo('Hi')
Opciones tipadas
Click deduce el tipo a partir del valor predeterminado, o puede establecerlo explícitamente con type=int. Una entrada no válida produce un error claro.
import click
@click.command()
@click.option('--age', type=int, default=0)
def show(age):
click.echo('Age is ' + str(age))
Opciones booleanas
Una opción con is_flag=True se convierte en un interruptor que vale True cuando 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)
Solicitudes de entrada
Establezca prompt=True y Click preguntará interactivamente al usuario si no se proporcionó la opción en la línea de comandos.
import click
@click.command()
@click.option('--name', prompt='Your name')
def hello(name):
click.echo('Hello ' + name)
Grupos de comandos
@click.group crea un comando padre que contiene subcomandos, el equivalente de Click a los subparsers de argparse. Los subcomandos se asocian mediante @cli.command().
import click
@click.group()
def cli():
pass
@cli.command()
def start():
click.echo('starting')
@cli.command()
def stop():
click.echo('stopping')
Salida con colores
click.style aplica color y estilos al texto, y click.secho combina la escritura en pantalla con el estilo en una sola llamada.
import click
@click.command()
def status():
click.secho('OK', fg='green', bold=True)
click.secho('Error', fg='red')
Confirmación y salida
click.confirm formula una pregunta de sí o no, y generar click.Abort o devolver un valor finaliza el comando correctamente.
import click
@click.command()
def delete():
if click.confirm('Are you sure?'):
click.echo('deleted')
else:
click.echo('cancelled')
argparse frente a Click
argparse está incluido en Python y es excelente para herramientas sencillas. Click es una dependencia externa, pero ofrece un estilo basado en decoradores más limpio, grupos anidados, solicitudes de entrada y colores listos para usar en CLI más grandes.
import click
@click.command()
@click.argument('items', nargs=-1)
def show(items):
for item in items:
click.echo(item)
Comprobación rápida
Compruebe cuánto ha entendido de Click.
Resumen
Ha aprendido a usar la biblioteca Click:
- Los decoradores
@click.command,@click.argumenty@click.optiondefinen una CLI. click.echoyclick.sechoescriben en pantalla, opcionalmente con color.@click.groupcrea subcomandos anidados; las solicitudes de entrada y las confirmaciones están integradas.- Es una dependencia externa que se instala mediante pip.
Siguiente tema: dar estilo a la salida del terminal con rich.
Preguntas frecuentes
¿La lección «La biblioteca Click» es gratis?
Sí — el texto completo de «La biblioteca Click» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «La biblioteca Click»?
Cree CLI con decoradores Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «La biblioteca Click»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conceptos básicos de argparse
- Subcomandos y opciones
- La biblioteca Click
- Salida enriquecida del terminal