objectif
Créer un CLI avec sous-commandes claires et aide intégrée.
code minimal
import argparse
def main(argv=None):
parser = argparse.ArgumentParser(prog="outil")
sub = parser.add_subparsers(dest="cmd", required=True)
p_add = sub.add_parser("add", help="addition")
p_add.add_argument("a", type=int)
p_add.add_argument("b", type=int)
p_sub = sub.add_parser("sub", help="soustraction")
p_sub.add_argument("a", type=int)
p_sub.add_argument("b", type=int)
args = parser.parse_args(argv)
if args.cmd == "add":
print(args.a + args.b)
elif args.cmd == "sub":
print(args.a - args.b)
if __name__ == "__main__":
main(["add", "2", "1"]) # attendu: 3
utilisation
python outil.py add 2 1 # affiche 3
python outil.py sub 5 7 # affiche -2
variante(s) utile(s)
# alias de sous-commandes
parser = argparse.ArgumentParser(prog="outil")
sub = parser.add_subparsers(dest="cmd", required=True)
p_add = sub.add_parser("add", aliases=["plus"], help="addition")
print("plus" in p_add.aliases)
notes
- Utilisez dest et required=True pour forcer le choix d’une sous-commande.
- Ajoutez des exemples dans epilog pour une aide plus riche.