易于定义和引用配置选项
econf的Python项目详细描述
导言
econf使定义配置选项和引用它们变得容易。 这些选项可以通过命令行或配置文件提供
安装
$ pip install http://github.com/wangst321/econf.git
如何使用
定义选项
首先,导入econf
from econf import *
对于属于“默认”部分的默认选项:
from econf import BaseConf class DefaultConf(BaseConf): host = StrOpt(default='0.0.0.0', cmdline=True, help='ip address') port = IntOpt(default=9090, cmdline=True, help='tcp port')
对于属于其他部分的选项:
class ZKConf(BaseConf): __section__ = 'zk' hosts = StrOpt( required=True, help='list of zookeeper ip:port pair. i.e. localhost:2181') max_retry = IntOpt( default=3, help='number of tries before giving up connecting')
在代码中使用选项
有两种方法可以引用选项。 首先,使用特定的Conf类:
host, port = DefaultConf.host, DefaultConf.port
其次,使用常规配置:
host, port = CONF.host, CONF.port zk_hosts = CONF.zk.hosts
解析cli选项和配置文件
注意
当代码执行时,此步骤应始终位于 语句,引用选项。
如果提供了默认配置:
from econf import CONF CONF('path/to/your/default.conf')
或者,
from econf import CONF CONF()
通常,这段代码是在服务启动之前执行的
def run(): from econf import CONF CONF() my_service.init(CONF.host, CONF.port, ...) my_service.start()