Maison >développement back-end >Tutoriel Python >Des merveilles avec Click : rationalisez votre expérience CLI

Des merveilles avec Click : rationalisez votre expérience CLI

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-25 09:28:28283parcourir

Introduction

Dans ce blog, nous approfondirons les dimensions fascinantes de Click, une bibliothèque Python qui peut rationaliser vos performances et votre portée CLI. Nous discuterons des concepts nécessaires pour créer une CLI basique et compacte. Ce blog vous aiderait à produire et organiser ? une meilleure CLI pour vos clients ?.

Wonders with Click: Streamline your CLI Experience

Qu'est-ce que Click de toute façon ??

Click est un package Python ? cela aide à accélérer le développement de leur utilitaire CLI. Ce package constitue une option plus simple ✅ par rapport aux autres packages Python pour développer des interfaces de ligne de commande. Il s'agit d'une meilleure option car elle nécessite un codage minimal et est livrée avec de nombreuses fonctionnalités intégrées qui rationnalisent les fonctionnalités de développement.

Maîtriser les bases du Click

Installation:

Pour installer, cliquez sur exécutez la commande suivante.

pip install click

codage:

Créez d'abord un fichier nommé main.py et ouvrez le fichier avec votre éditeur/ide de code préféré. Maintenant, induisez l'extrait de code suivant pour créer un outil cli de base ? dans main.py

import click

@click.command()
def say_hello():
  click.echo("Hello Bob")

# runs when the file is run directly and not imported
if __name__ == "__main__": 
  say_hello()

Ici, nous utilisons le décorateur @click.command pour donner à la fonction quelques fonctionnalités supplémentaires afin de la rendre adaptée à une commande cli (par exemple : commit, merge, init, etc. dans Git). Et click.echo est une version personnalisée de la fonction d'impression Python qui répond au besoin de clic.

avoir plusieurs commandes

import click

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

@click.command()
@click.option('--name', prompt='Your name',
              help='The person to greet.')
def say_hello(name):
  click.echo(f'Hello {name}!')

@click.command()
@click.option('--name', prompt='Your name',
              help='The person to greet.')
def say_bye(name):
  click.echo(f'Goodbye {name}!')

@click.command()
@click.option('--num', prompt='Enter a number',type=int ,
              help='The person to greet.')
def give_square(num):
  click.echo(num*num)


# Registering the commands with the CLI
cli.add_command(say_hello)
cli.add_command(say_bye)
cli.add_command(give_square)


if __name__ == "__main__": 
  cli()

Le décorateur @click.option convertit la fonction en commande avec possibilité de prendre une valeur facultative.

Pour utiliser cet extrait exécutez la commande suivante dans le terminal,

python main.py say_hello --name=Kris

travailler avec des arguments

import click

@click.command()
@click.argument('name')
def say_hello(name):
  click.echo(f"Hello {name}")

# runs when the file is run directly and not imported
if __name__ == "__main__": 
  say_hello()

Le décorateur @click.argument convertit la fonction en une commande avec la possibilité de prendre un argument qui doit être fourni et requis par le cli.

Pour utiliser cet extrait de code exécutez la commande suivante dans le terminal,

python main.py bob

Conclusion

Click rend la construction de interfaces de ligne de commande en Python simple et intuitive. Avec la prise en charge de plusieurs commandes, options et arguments, c'est un outil puissant qui peut évoluer des cas d'utilisation simples aux cas complexes.

En un mot:

  • Les Groupes de commandes vous permettent d'organiser plusieurs commandes.
  • Les Commandes définissent les actions que votre CLI effectuera.
  • Options et arguments permettent à l'utilisateur de personnaliser le comportement des commandes.

Commencez à expérimenter avec Click pour votre prochain Python
projet et voyez à quel point il est facile de créer des outils CLI conviviaux !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn