Permitindo valores específicos para um argumento Argparse [duplicado]

Esta questão já tem uma resposta aqui:

Restringindo valores de opções de linha de comando 1 resposta

É possível exigir que umargparse argumento ser um dos poucos valores predefinidos?

Minha abordagem atual seria examinar o argumento manualmente e se não for uma das chamadas de valores permitidosprint_help() e sair.

Aqui está a implementação atual:

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

Não é que isso seja particularmente difícil, mas sim que parece ser confuso.

questionAnswers(1)

yourAnswerToTheQuestion