配置器

miniconfig的Python项目详细描述


https://travis-ci.org/podhmo/miniconfig.svg?branch=master

微型配置

在应用程序中进行配置阶段。 (几乎棱锥体的配置器对象的微小版本)

# yourapp/__init__.pyfromminiconfigimportConfiguratorCoreclassConfigurator(ConfiguratorCore):defmake_app(self):self.commit()returnApp(self.settings)classApp:def__init__(self,settings):self.settings=settings

YourApp/plugina.py

classA:passdefincludeme(config):config.settings["A"]=A()

YourApp/pluginb.py

classB:passdefincludeme(config):config.include(".pluginA")config.settings["B"]=B()

应用程序用户

fromyourappimportConfiguratorconfig=Configurator()config.include("yourapp.pluginB")app=config.make_app()print(app.settings.keys())# dict_keys(['A', 'B'])

添加指令

指令意味着配置器的动作。

如何定义和使用指令

defhello(config,name):defregister():assertconfig.settings["foo"]=="foo"print("hello: {}".format(name))discriminator=(hello,name)config.action(discriminator,register)config=Configurator(settings={"foo":"foo"})config.add_directive("hello",hello)config.hello("foo")

还支持使用虚线名称定义指令

## foo/bar.pydefhello(config):defregister():print("hai")discriminator=id(object())# xxxconfig.action(discriminator,register)## yourappconfig=Configurator()config.add_directive("hello","foo.bar:hello")config.hello()config.commit()# hai

0.3.0

  • 支持冲突检查(但实际需要鉴别器)

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

推荐PyPI第三方库


热门话题
java JList侦听器找不到符号   多点触摸跨平台java应用程序(Windows、Mac和Linux(Ubuntu)(可能是Android))   在UnitTest中找不到java类加载器资源   java当我尝试在Eclipse中运行我的minecraft mod时,我总是遇到这个错误,这是什么意思?   内部有一个同步块的静态方法,在java中阻止整个类?   不支持java操作:具有BillableStatus的费用在采购中应具有AccountBasedExpenseLineDetail行的CustomerRef   java运行时常量池GC集合   java无法解析配置“:app:\u debugApk”的所有依赖项。找不到名为“default”的配置   在GCP计算引擎中托管Neo4j的java   java如何从BroadcastReceiver更新片段选项卡?   线程“main”组织中的java异常。冬眠注释异常:@org。冬眠注释。表引用未知表:ProductForPractice   在Java/Groovy中嵌入处理   java Android REST教程/示例项目   java我可以在同一测试中在一个模拟器上启动应用程序,在另一个模拟器上启动移动浏览器吗?   java如何更改通知横幅的方向?   安卓 Java帮助实现Firebase授权   if else之后的rs.next()中出现java错误?