Module Docopt en Python

王林
Libérer: 2023-08-18 12:37:28
avant
1060 Les gens l'ont consulté

En Python, le module Docopt est utilisé pour créer des interfaces de ligne de commande. Semblable à d'autres paramètres et options de ligne de commande, docopt nous permet de définir des paramètres et des options de ligne de commande et de générer des messages d'aide et des chaînes d'utilisation pour le programme. Dans cet article, nous apprendrons comment définir le module Docopt et comment l'utiliser pour créer une interface de ligne de commande.

Installation

Avant de l'utiliser, vous pouvez installer le module Docopt à l'aide de la commande pip en Python. Pour installer le module Docopt, entrez la commande suivante sur le terminal ou l'invite de commande.

pip install docopt
Copier après la connexion

Programmes utilisant le module Docopt

Après avoir installé le module Docopt, voyons quelques exemples pour comprendre comment utiliser le module Docopt en Python.

Exemple 1 : Programme simple

Dans le code ci-dessous, nous fournirons le paramètre filename lors de l'exécution du programme. Par exemple, si le fichier du programme est simple_program.py et que nous avons un fichier test.txt dans le même répertoire, alors le paramètre doit être python simple_program.py test.txt.

""" Usage: simple_program.py <filename>

Print the contents of the file to the console.
"""

from docopt import docopt

def main():
   args = docopt(__doc__)
   filename = args['<filename>']
   with open(filename, 'r') as f:
      print(f.read())

if __name__ == '__main__':
   main()
Copier après la connexion

Sortie

This is testing the docopt module.
Copier après la connexion

Exemple 2 : Programme avec options

Dans cet exemple, nous allons créer un programme qui accepte un nom de fichier comme argument et un indicateur facultatif pour spécifier s'il faut afficher les numéros de ligne. Nous utiliserons Docopt pour définir l'interface de ligne de commande. Dans l'exemple ci-dessous, nous fournirons l'argument du nom de fichier et l'indicateur –numéros de ligne lors de l'exécution du programme. Par exemple, si le fichier du programme est simple_program.py et que nous avons un fichier test.txt dans le même répertoire, alors le paramètre doit être python simple_program.py test.txt –line-numbers.

"""Usage: program_with_options.py [--line-numbers] <filename>

Print the contents of the file to the console, with line numbers if specified.

Options:
  --line-numbers  Display line numbers.
"""

from docopt import docopt

def main():
   args = docopt(__doc__)
   filename = args['<filename>']
   with open(filename, 'r') as f:
      if args['--line-numbers']:
         for i, line in enumerate(f):
            print(f"{i+1}: {line}", end="")
      else:
         print(f.read())

if __name__ == '__main__':
    main()
Copier après la connexion

Sortie

1: This is testing the docopt module.
2: This is line 2
3: This is line 3
4: This is line 4
Copier après la connexion

Conclusion

Dans cet article, nous avons expliqué comment créer une interface de ligne de commande à l'aide du module docopt et comment l'utiliser pour créer des paramètres et des options de ligne de commande. Son approche déclarative facilite la définition des paramètres et des options de ligne de commande, ce qui la rend facile à utiliser et à comprendre. Grâce à Docopt, vous pouvez créer rapidement des interfaces de ligne de commande pour vos programmes Python sans vous soucier des détails de l'analyse des arguments et de la génération des messages d'aide.

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal