遵循argparser语法的集成参数/配置文件解析器

ConfArgParse的Python项目详细描述


此模块向argparse添加配置文件解析功能。

用法

首先导入模块并初始化解析器:

import confargparse
parser = confargparse.ConfArgParser()

用法与argparse模块相同:

parser.add_argument("-n", type=int)
group = parser.add_argument_group("my group")
group.add_argument("-g")

现在,使用配置文件(或顺序读取配置的列表 文件),只需添加–conf文件选项。

python prog.py –conf-file conf.ini

通过应用 想要,然后添加–export conf file选项。

python prog.py -n –export-conf-file > conf.ini

API更改

所有argparse代码都应该通过在新对象中拖动而兼容。这个 package向api添加了几个重要选项,以确定如何映射 命名空间dest到配置节/名称。

需要注意的关键概念:

  1. 配置文件中的参数映射到特定的节/名称对。
  2. 配置文件节和名称忽略大小写。

指定名称

默认情况下,所有配置名称都是argparse中的小写dest。关心 必须确保dest与 不同的资本化。

使用“name”关键字添加参数可以更改默认名称:

parser.add_argument("-n", type=int, name="my_n")

这将配置文件中的参数指向“my_n”而不是“n”。

指定节

默认情况下,所有配置都转到[默认值]部分。论据 组和子parser从初始化它们的解析器继承。

add_argument_group、add_argument、add_subparsers和confargparser 初始化全部包括“section”可选关键字参数。指定 此部分设置配置中选项将针对的部分 到。如果值为none,则对象将按预期向上继承:

parser = ConfArgParser(section = "main")
parser.add_argument("-n", type=int)
group = parser.add_argument_group("my group", section="group")
group.add_argument("-g")
group.add_argument("-t", section="section2")

在本例中,第一个参数针对[main]部分中的“n”名称。 第二个参数针对[组]部分中的“g”名称。第三个 参数以[Section2]节中的“T”名称为目标。

排除参数

当前,位置参数无法发送到配置文件。

如果要排除其他参数,只需使用exclude关键字 添加参数的参数:

parser.add_argument("-n", type=int, exclude=True)

建议还是错误修复?

请随时与我联系。我可以通过谷歌搜索在线找到: 乔舒亚·斯威迈达斯。

请将错误修复作为请求发送到BitBucket存储库 (https://bitbucket.org/swamidass/confargparse)。请继续拉 请求干净,这样我就可以很容易地知道是否应该 并入主线。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将JButton合并到图形中?   java在每个循环中使用基类类型或派生类类型   JavaSwingGUI应用程序完全是空白的,没有任何内容,而按钮被添加到面板中   java Android获取getDefaultSensor括号时出错   java Spring引导和安全性与AngularJS登录页面   java注销appengine应用程序而不从google注销。通用域名格式   java仅在发生错误或异常时创建日志文件,而不使用log4j   java get json数组和Retrift 2   swing中的java响应映像   为什么java的inputstream。close()块?   java驱动管理器。getConnection()非常冗长   java如何使用joml将标准化向量旋转到一个点   ubuntu将Java程序的输出结果保存到一个文件中   java动态可拖动、可编辑和自动调整大小的文本字段