← retour aux snippets

argparse: flags booléens et groupes exclusifs

Définir des --flags simples et des options mutuellement exclusives.

python cli #argparse#cli#flags

objectif

Définir des —flags simples et des options mutuellement exclusives.

code minimal

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("-v", "--verbose", action="store_true", help="mode verbeux")
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument("--json", action="store_true", help="sortie JSON")
group.add_argument("--text", action="store_true", help="sortie texte")
args = parser.parse_args([] + ["--json"])
print(args.verbose is False and args.json is True)  # attendu: True

utilisation

python app.py --text
python app.py -v --json

variante(s) utile(s)

import argparse
p = argparse.ArgumentParser()
p.add_argument("--count", type=int, default=0)
print(p.parse_args([]).count == 0)

notes

  • action=“store_true” crée un bool sans valeur explicitée.
  • Les groupes exclusifs imposent un seul choix valide.