小编典典

允许 Argparse 参数的特定值

all

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

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

这是当前的实现:

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

倒不是这特别难,而是显得杂乱无章。


阅读 70

收藏
2022-08-21

共1个答案

小编典典

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

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

args = parser.parse_args(sys.argv[1:])

有关更多详细信息,请参阅文档

2022-08-21