允许Argparse参数的特定值



是否有可能要求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)

这并不是特别困难,而是看起来很乱。

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

...
parser.add_argument('--val',
                    choices=['a', 'b', 'c'],
                    help='Special testing value')
args = parser.parse_args(sys.argv[1:])

相关内容

  • 没有找到相关文章

最新更新