在没有调用参数时,将组参数设置为默认值的最佳方法是什么。
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
返回相同的输出。
答案 0 :(得分:1)
我只需在解析后添加一个简单的测试
if not any([args.a, args.b, args.c]):
args.a=True
这比使parse_args
执行此操作的任何尝试都简单。解析器将独立地解析所有参数 - 并且可以按任何顺序解析。因此,无论是否已选择任何选项,您都无法判断解析是否全部完成。