即时注册表。轻松维护一个用于复杂Python项目的集中配置注册表。
项目描述
direg让您维护任意注册表数据(以可以“合并”的Python字典形式存在)。通过少量工作,可以将硬编码的值替换为易于维护和灵活的注册条目。
假设我们有一个文件位于/my/path/registry.py,内容如下。
data = {
'one.Foo.meth.somevar': 26804,
'one.Foo.somevar': 24742,
'one.myfunc.somevar': 16834,
'one.outer.inner.somevar': 7678,
}
然后在某个模块one中,我们可以执行以下操作
one.py
from direg import get_value, registries
# Load the registry with the above data. Note that this could take place in another module and could include an
# arbitrary number of registry files.
registries.append('/my/path/registry.py')
class Foo:
somevar = get_value('somevar') # will be 24742
def meth(self):
return get_value('somevar')
f = Foo()
f.meth() # will return 26804
f.somevar # 24742
Foo.somevar # also 24742
def myfunc():
somevar = get_value('somevar')
return somevar
myfunc() # will be 16834