轻松查找和读取应用程序配置文件。

ccaconfig的Python项目详细描述


ccaConfig公司

配置文件实用程序。将从不同的 位置的顺序如下,以便“较近”文件覆盖 更多的。最后,它检查环境中的变量和 重写配置文件中的任何集。在

读取文件的顺序是

/etc/appname.yaml
/etc/appname/appname.yaml
$HOME/.config/appname.yaml
$HOME/Library/Preferences/appname.yaml
$HOME/.appname.yaml
$(pwd)/appname.yaml

任何形式的环境变量

^{pr2}$

将找到,在下划线处切分,小写并设置为 如果存在 环境变量APPNAME_VARIABLENAME。在

使用

from ccaconfig.config import ccaConfig

cf = ccaConfig(appname="appname")
config = cf.envOverride()

或者,不考虑环境变量:

from ccaconfig.config import ccaConfig

cf = ccaConfig(appname="appname")
config = cf.findConfig()

可以提供两个附加字典,第一个defaultd可以是 用于设置默认配置,第二个,overrided可用于 不希望被找到的任何配置文件覆盖的配置变量 或者来自环境。在

from ccaconfig.config import ccaConfig

defd = {"environment": "dev"}
overd = {"product": "myapp"}
cf = ccaConfig(appname="appname", defaultd=defd, overrided=overd)
config = cf.envOverride()
# config["environment"] == "dev" if it is not overridden by a subsequent
# config file or from an environment variable
#
# config["product"] == "myapp" and will not be overridden, at all

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

推荐PyPI第三方库


热门话题
返回数组无效的java方法   异步Java CompletableFuture获取其请求   java是否可以像RDBMS那样使用视图?   java如何在屏幕上只运行一个片段?   java无法从Vertex jdbc查询中获取结果   java从jtable获取对象的正确方法   java Spring 3数据设备替代方案   Java BigDecimal:四舍五入到客户首选的数字和增量   JAVA主窗口没有出现,我必须左键单击主窗口。java并单击run查看它   Eclipse RCP中的java进程自定义设备事件   JavaEclipse一次又一次地构建代码(没有任何更改)?   java如何实现对象合并