是否可以要求argparse参数是几个预设值之一?
argparse
我目前的方法是手动检查参数,如果它不是允许的值之一,则调用print_help()并退出。
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:
choices
... parser.add_argument('--val', choices=['a', 'b', 'c'], help='Special testing value') args = parser.parse_args(sys.argv[1:])
有关更多详细信息,请参阅文档。