argparse:当没有调用参数时,使一个参数默认

时间:2016-08-16 19:01:17

标签: python default argparse

在没有调用参数时,将组参数设置为默认值的最佳方法是什么。

parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("--a", action="store_true") #call when no arguments are provided
group.add_argument("--b", action="store_true")
group.add_argument("--c", action="store_true")

让我们调用我的程序argparse_ex.py。我希望argparse.py(没有参数)和argparse.py --a返回相同的输出。

1 个答案:

答案 0 :(得分:1)

我只需在解析后添加一个简单的测试

if not any([args.a, args.b, args.c]):
   args.a=True

这比使parse_args执行此操作的任何尝试都简单。解析器将独立地解析所有参数 - 并且可以按任何顺序解析。因此,无论是否已选择任何选项,您都无法判断解析是否全部完成。