【问题标题】:Allowing specific values for an Argparse argument [duplicate]允许 Argparse 参数的特定值[重复]
【发布时间】:2013-03-28 00:47:24
【问题描述】:

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

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

【问题讨论】:

    标签: python argparse


    【解决方案1】:

    可以使用choices 参数将 argparse 参数限制为特定值:

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

    有关详细信息,请参阅docs

    【讨论】:

      猜你喜欢
      • 2019-12-16
      • 2020-11-29
      • 2014-09-01
      • 2021-03-06
      • 1970-01-01
      • 2013-01-17
      • 2014-01-30
      • 2020-04-13
      • 2018-07-04
      相关资源
      最近更新 更多