0Pricing
Python Academy · Leçon

La bibliothèque Click

Créer des CLI avec des décorateurs

La bibliothèque Click est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que Click ?

Click est une bibliothèque tierce populaire pour créer des interfaces en ligne de commande à l'aide de décorateurs. Elle gère l'analyse, le texte d'aide, les invites et les couleurs avec très peu de code. Installez-la avec pip install click.

import click

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

# hello() would run when called as a script

click.echo

Utilisez click.echo() plutôt que print. Cette fonction gère les problèmes d'encodage et fonctionne harmonieusement avec les fonctions de Click liées aux couleurs et à la redirection.

import click

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

Arguments

Le décorateur @click.argument déclare un argument positionnel obligatoire que Click transmet à votre fonction sous forme de paramètre.

import click

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

Options

@click.option définit des options facultatives. Fournissez une valeur par défaut et Click génère automatiquement le texte d'aide et la gestion des types.

import click

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

Options typées

Click déduit le type à partir de la valeur par défaut, ou vous pouvez le définir explicitement avec type=int. Une entrée incorrecte produit une erreur conviviale.

import click

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

Options booléennes

Une option avec is_flag=True devient un commutateur activé lorsqu'il est présent, comme --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)

Invites

Définissez prompt=True et Click interrogera interactivement l'utilisateur si l'option n'a pas été fournie sur la ligne de commande.

import click

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

Groupes de commandes

@click.group crée une commande parente qui contient des sous-commandes, l'équivalent Click des sous-analyseurs d'argparse. Les sous-commandes s'y rattachent avec @cli.command().

import click

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

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

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

Sortie en couleur

click.style entoure le texte de couleur et de mise en forme, tandis que click.secho combine l'affichage et la mise en forme en un seul appel.

import click

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

Confirmation et sortie

click.confirm pose une question par oui ou non ; lever click.Abort ou retourner une valeur termine la commande proprement.

import click

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

argparse ou Click

argparse est intégré à Python et convient parfaitement aux outils simples. Click est une dépendance externe, mais propose pour les CLI plus importantes un style à base de décorateurs plus clair, des groupes imbriqués, des invites et des couleurs prêtes à l'emploi.

import click

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

Vérification rapide

Vérifiez votre compréhension de Click.

Récapitulatif

Vous avez découvert la bibliothèque Click :

  • Les décorateurs @click.command, @click.argument et @click.option définissent une CLI.
  • click.echo et click.secho affichent du texte, éventuellement en couleur.
  • @click.group crée des sous-commandes imbriquées ; les invites et les confirmations sont intégrées.
  • Il s'agit d'une dépendance externe installée avec pip.

Suite : mettre en forme la sortie du terminal avec rich.

Questions Fréquemment Posées

La leçon « La bibliothèque Click » est-elle gratuite ?

Oui — le texte complet de « La bibliothèque Click » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « La bibliothèque Click » ?

Créer des CLI avec des décorateurs Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « La bibliothèque Click » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Les bases d’argparse
  2. Sous-commandes et options
  3. La bibliothèque Click
  4. Sortie riche dans le terminal
← Retour à Python Academy