Looking for python Answers? Try Ask4KnowledgeBase
Looking for python Keywords? Try Ask4Keywords

Python Language Groupement conceptuel d'arguments avec argparse.add_argument_group ()


Exemple

Lorsque vous créez un argumentse ArgumentParser () et exécutez votre programme avec '-h', vous obtenez un message d'utilisation automatisé expliquant avec quels arguments vous pouvez exécuter votre logiciel. Par défaut, les arguments positionnels et les arguments conditionnels sont séparés en deux catégories. Par exemple, voici un petit script (example.py) et la sortie lorsque vous exécutez python example.py -h .

import argparse

parser = argparse.ArgumentParser(description='Simple example')
parser.add_argument('name', help='Who to greet', default='World')
parser.add_argument('--bar_this')
parser.add_argument('--bar_that')
parser.add_argument('--foo_this')
parser.add_argument('--foo_that')
args = parser.parse_args()
usage: example.py [-h] [--bar_this BAR_THIS] [--bar_that BAR_THAT]
                        [--foo_this FOO_THIS] [--foo_that FOO_THAT]
                        name

Simple example

positional arguments:
  name                 Who to greet

optional arguments:
  -h, --help           show this help message and exit
  --bar_this BAR_THIS
  --bar_that BAR_THAT
  --foo_this FOO_THIS
  --foo_that FOO_THAT

Dans certaines situations, vous souhaitez séparer vos arguments en d'autres sections conceptuelles pour aider votre utilisateur. Par exemple, vous pouvez souhaiter avoir toutes les options de saisie dans un groupe et toutes les options de format de sortie dans un autre. L'exemple ci-dessus peut être ajusté pour séparer les --foo_* des --bar_* comme ceci.

import argparse

parser = argparse.ArgumentParser(description='Simple example')
parser.add_argument('name', help='Who to greet', default='World')
# Create two argument groups
foo_group = parser.add_argument_group(title='Foo options')
bar_group = parser.add_argument_group(title='Bar options')
# Add arguments to those groups
foo_group.add_argument('--bar_this')
foo_group.add_argument('--bar_that')
bar_group.add_argument('--foo_this')
bar_group.add_argument('--foo_that')
args = parser.parse_args()

Qui produit cette sortie lorsque python example.py -h est exécuté:

usage: example.py [-h] [--bar_this BAR_THIS] [--bar_that BAR_THAT]
                        [--foo_this FOO_THIS] [--foo_that FOO_THAT]
                        name

Simple example

positional arguments:
  name                 Who to greet

optional arguments:
  -h, --help           show this help message and exit

Foo options:
  --bar_this BAR_THIS
  --bar_that BAR_THAT

Bar options:
  --foo_this FOO_THIS
  --foo_that FOO_THAT