加载中…
个人资料
麦兜搞IT
麦兜搞IT
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,531,206
  • 关注人气:531
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

oslo.config

(2014-10-19 22:20:57)
标签:

python

openstack

oslo

分类: Python

参考资料

https://wiki.openstack.org/wiki/Oslo

https://wiki.openstack.org/wiki/Oslo/Config

Openstack Oslo.config 学习(一)

Openstack Oslo.config 学习(二).html)

OpenStack源码探秘(二)——Oslo.config

简单试用了一下,感觉这个openstack的库还是挺不错的,可以用于自己的项目中,进行配置管理。

之前比较常用的就是ConfigParserargparse这两个库进行命令行和配置文件的配置管理。oslo.config感觉是通过一个库做了统一。


""" test.py"""
import sys
from oslo.config import cfg
CONF = cfg.CONF
CONF(args=sys.argv[1:])

上面四行代码可以运行:


$ python test.py -h
usage: test.py [-h] [--config-dir DIR] [--config-file PATH] [--version]

optional arguments:
  -h, --help          show this help message and exit
  --config-dir DIR    Path to a config directory to pull *.conf files from.
                      This file set is sorted, so as to provide a predictable
                      parse order if individual options are over-ridden. The
                      set is parsed after the file(s) specified via previous
                      --config-file, arguments hence over-ridden options in
                      the directory take precedence.
  --config-file PATH  Path to a config file to use. Multiple config files can
                      be specified, with values in later files taking
                      precedence. The default files used are: None.
  --version           show program's version number and exit

可以看到,有两个重要的配置参数:config-dirconfig-file

下面我们准备一个config文件test.conf


$ more test.conf

[DEFAULT]
bind_host = 192.168.0.1
bind_port = 55553

假如在主程序中要获取到这个配置,该怎么办?

在CONF这个全局变量里


print 'host:', CONF.bind_host
print 'port:',CONF.bind_port

更多内容,请看


0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有