分层配置聚合器
overdub的Python项目详细描述
加载和合并嵌套配置。
用法
安装:
python -m pip install overdub
使用这些结构:
from overdub import MutableOverdub a = {'foo': 1, 'bar': {'baz': 2}, 'qux': {'one': 1}} b = {'foo': 3, 'bar': {'baz': 4}, 'qux': {'two': 2}}
更新:
overdubbed = MutableOverdub(a) overdubbed.update(b) assert overdubbed.foo == 3 assert overdubbed.bar.baz == 4 assert overdubbed.qux == {'two': 2}
合并:
overdubbed = MutableOverdub(a) overdubbed.merge(b) assert overdubbed.foo == 3 assert overdubbed.bar.baz == 4 assert overdubbed.qux == {'one': 1, 'two': 2}
重新定位:
overdubbed = MutableOverdub(a) overdubbed.rebase(b) assert overdubbed.foo == 1 assert overdubbed.bar.baz == 2 assert overdubbed.qux == {'one': 1, 'two': 2}
解除数据绑定:
overdubbed = MutableOverdub(a) assert isinstance(overdubbed, Overdub) naked = MutableOverdub(a) assert not isinstance(naked, Overdub)
冻结配置:
overdubbed = overdubbed.frozen()
yaml文件
它还可以从yaml文件中读取配置,用于此安装:
python -m pip install overdub[yaml]
然后,合并所有文件:
from overdub import yaml overdubbed = yaml.load_from_file('a.yml', b.yml') assert overdubbed.foo == 3 assert overdubbed.bar.baz == 4 assert overdubbed.qux == {'one': 1, 'two': 2}