第十四章:应用构建模块-argparse:命令行选项和参数解析-解析器组织-参数组

14.1.6.3 参数组
argparse将参数定义合并为“组”。默认地,它会使用两个组,一个对应选项,另一个对应必要的基于位置的参数。

import argparse

parser = argparse.ArgumentParser(description='Short sample app')

parser.add_argument('--optional',action="store_true",
                    default=False)
parser.add_argument('positional',action="store")

print(parser.parse_args())

从帮助输出的“位置参数”(positional argument)和"可选参数"(optional argument)部分可以反映这种分组。
在这里插入图片描述
可以调整这种分组,使帮助更有条理,并将相关的选项或值放在一起。例如,可以使用定制组重新编写前面的共享选项示例,使得认证选项在帮助中一起出现。用add_argument_group()创建"authentication"组,然后将与认证有关的各个选项增加到这个组,而不是增加到基解析器。

import argparse

parser = argparse.ArgumentParser(add_help=False)

group = parser.add_argument_group('authentication')

group.add_argument('--user',action="store")
group.add_argument('--password',action="store")

如果程序使用了基于组的父解析器,那么会像前面一样把它列在parents值中。

import argparse
import argparse_parent_with_group

parser = argparse.ArgumentParser(
    parents=[argparse_parent_with_group.parser],
    )

parser.add_argument('--local-arg',
                    action="store_true",
                    default=False)

print(parser.parse_args())

现在帮助输出会把认证选项显示在一起。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43193719/article/details/93227256