处理配置的工具

confload的Python项目详细描述


混流

处理配置的工具

Pypi Linkl <https://pypi.org/project/confload>\

支持

格式:

  • ini公司
  • json格式
  • 山药

起源:

  • 网址
  • 环境
  • 对象
  • 文件

安装

。。代码::bash

pip3 install confload

使用

。。代码::python

^{pr2}$

注:大多数方法都可以链接

。。代码::python

cfg = Config(...).update(...).env(...).load(...)

自定义CLi解析器

argparse <https://docs.python.org/3/library/argparse.html>click <https://click.palletsprojects.com/en/7.x/>和其他许多 是货物,但我发现它们对我大部分的使用来说太复杂了。在

基于这两个,这里有另一个解析器

。。代码::python

from confload.cli import Parser, SubParser, String, Int, Float, Bool, Toggle, List


parser = Parser(
    # Positional values
    [
        String("name"),
        Int("abcde"),
    ],

    # Optional values
    [
        String("lastname", aliases=["lastname", "l"]),
        List("children", aliases=["child", "c"]),
        Toggle("active", aliases=["active", "y"], default=False),
    ],
)


print(str(parser))
print(parser.aliases)
res = parser()

print(res)

跑步 python3 test_parser.py -l abcde --child foo,bar --lastname trew -c another -c some,other test 56 我们得到以下输出

。。代码::txt

[OPTIONS] NAME ABCDE
{'--lastname': lastname, '-l': lastname, '--child': children, '-c': children, '--active': active, '-y': active}
{'active': False, 'name': 'test', 'abcde': 56, 'lastname': 'trew', 'children': ['foo', 'bar', 'another', 'some', 'other']}

当我们实现一个工具时,自动使用subparser是有用的 调用函数。(正在进行)

未来

  • 添加对argparse的支持
  • 文档将被完成,一些更改可能也会出现。在

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

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp