Module Docopt en Python

王林
王林avant
2023-08-18 12:37:281100parcourir

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

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()

Sortie

This is testing the docopt module.

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()

Sortie

1: This is testing the docopt module.
2: This is line 2
3: This is line 3
4: This is line 4

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer