Python 允许Argparse参数的特定值

Python 允许Argparse参数的特定值,python,argparse,Python,Argparse,是否可以要求参数是几个预设值之一 我目前的方法是手动检查参数,如果它不是允许的值,则调用并退出 以下是当前的实现: ... 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.e

是否可以要求参数是几个预设值之一

我目前的方法是手动检查参数,如果它不是允许的值,则调用并退出

以下是当前的实现:

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

这并不是说这特别困难,而是因为它看起来很混乱。

argparse参数可以通过参数限制为特定的值:

...
parser.add_argument('--val',
                    choices=['a', 'b', 'c'],
                    help='Special testing value')

args = parser.parse_args(sys.argv[1:])
有关更多详细信息,请参阅