是否可以要求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)
这并不是特别困难,而是看起来很混乱。
答案 0 :(得分:122)
argparse参数可以限制为choices
参数的特定值:
...
parser.add_argument('--val',
choices=['a','b','c'],
help='Special testing value')
args = parser.parse_args(sys.argv[1:])
有关详细信息,请参阅docs。