Est-il possible d'exiger qu'un argparse
argument être l'une des quelques valeurs prédéfinies ?
Mon approche actuelle consisterait à examiner l'argument manuellement et, s'il ne s'agit pas d'une des valeurs autorisées, appeler print_help()
et sortir.
Voici l'implémentation actuelle :
...
parser.add_argument('--val',
help='Special testing value')
args = parser.parse_args(sys.argv[1:])
if args.val not in ['a', 'b', 'c']:
parser.print_help()
sys.exit(1)
Ce n'est pas que cela soit particulièrement difficile, mais plutôt que cela semble être désordonné.