又一个配置库
yaconf的Python项目详细描述
#yaconf
又一个python配置库
无需大惊小怪:
*python 3.6+且无外部依赖。
*单个文件实现:导入包或将“yaconf.py”复制到项目中。
*使用任何配置源:任何返回“dict”的函数都可以。
*默认情况下读取json文件,但“config parser”或任何其他解析器都可以用关键字参数放入。
*层次结构配置:在一个配置源中逐个查找配置键,例如,
-首先检查“.myappconf”文件,
-然后` ~/.config/myapp/.myappconf”,
-最后返回默认值。
*配置文件的正常默认值路径:
-`~/.config/myapp/.myappconf`在Linux和MacOS上
-`%localappdata%\myapp\.myappconf`在Windows上
*可以选择注册一个修饰符函数,在加载后任意更改值(例如,更改数据类型,检查一致性,等)。
get('ready to go',default='fallback')
````
\sources
`` python
def get_default_config():
返回{'i':123,“b”:“default string”}
source
conf.load()
assert conf['i']==123
assert conf['b']=='其他字符串'
`````
```assert dict(conf)={'i':123,'b':'other string'}
```
``python
def modify(d):
d['i']+=3
del d['b']
d['x']='new'
conf.modify=modify
conf.load()
assert dict(conf)={'i':126,'x':'new'}
```
https://github.com/audreyr/cookiecutter pypackage
===
历史
=
<0.2.0(2019-04-10)
----
*允许向configreader添加修改函数。
*删除configreader上的levels属性。
*使configreader遵循映射协议。
*重命名解码器->;解析器。
0.1.0(2019-04-09)
----
*PYPI上的第一个版本。
又一个python配置库
无需大惊小怪:
*python 3.6+且无外部依赖。
*单个文件实现:导入包或将“yaconf.py”复制到项目中。
*使用任何配置源:任何返回“dict”的函数都可以。
*默认情况下读取json文件,但“config parser”或任何其他解析器都可以用关键字参数放入。
*层次结构配置:在一个配置源中逐个查找配置键,例如,
-首先检查“.myappconf”文件,
-然后` ~/.config/myapp/.myappconf”,
-最后返回默认值。
*配置文件的正常默认值路径:
-`~/.config/myapp/.myappconf`在Linux和MacOS上
-`%localappdata%\myapp\.myappconf`在Windows上
*可以选择注册一个修饰符函数,在加载后任意更改值(例如,更改数据类型,检查一致性,等)。
get('ready to go',default='fallback')
````
\sources
`` python
def get_default_config():
返回{'i':123,“b”:“default string”}
source
conf.load()
assert conf['i']==123
assert conf['b']=='其他字符串'
`````
```assert dict(conf)={'i':123,'b':'other string'}
```
``python
def modify(d):
d['i']+=3
del d['b']
d['x']='new'
conf.modify=modify
conf.load()
assert dict(conf)={'i':126,'x':'new'}
```
https://github.com/audreyr/cookiecutter pypackage
===
历史
=
<0.2.0(2019-04-10)
----
*允许向configreader添加修改函数。
*删除configreader上的levels属性。
*使configreader遵循映射协议。
*重命名解码器->;解析器。
0.1.0(2019-04-09)
----
*PYPI上的第一个版本。