一种模块,用于在一致性方法中从各种源检索程序设置。

setoptconf的Python项目详细描述


https://travis-ci.org/jayclassless/setoptconf.svg?branch=master

setoptconf是一个可用于检索程序设置的python库 来自多种常见来源:

  • 命令行
  • 环境变量
  • ini文件
  • json文件
  • yaml文件
  • python对象/模块

这个项目的目标是在一个简单的 一致的方法,然后将setoptconf指向尽可能多的源 喜欢使用,让它梳理它们,寻找你的设置。

无可否认,这个自述文件在细节上非常轻巧。完整的文档将提供 及时。现在,这里有一个使用示例:

导入库:

import setoptconf as soc

实例化管理器:

manager = soc.ConfigurationManager('myprogram')

定义要收集的设置:

manager.add(soc.StringSetting('foo'))
manager.add(soc.IntegerSetting('bar', required=True))
manager.add(soc.BooleanSetting('baz', default=True))

从我们想要的资源中检索设置,将设置和 用我们传递的源的顺序所隐含的优先级覆盖:

config = manager.retrieve(
    # This source pulls from the command line using argparse.
    soc.CommandLineSource,

    # This source pulls from environment variables that are prefixed
    # with MYPROGRAM_*
    soc.EnvironmentVariableSource,

    # This source pulls from the named INI files. It stops at the first
    # file it finds.
    soc.ConfigFileSource(('.myprogramrc', '/etc/myprogram.conf')),
)

我们现在有一个名为config的配置对象,它有三个属性; foobarbaz

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

推荐PyPI第三方库


热门话题
java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么