ConfigParser 读取配置文件的利器

python中的ConfigParser模块可以便利的处理配置文件例如下图:

# HOST为第一个节点;
[HOST]  
# HOST1为第一个节点中的key值,等号后面时对应的value值;     
HOST1 = 172.25.254.1:root:123
HOST2 = 172.25.254.2:root:123
HOST3 = 172.25.254.3:root:123

# SCRIPTS为第二个节点;
[SCRIPTS]
SCRIPTS1 = scripts/test1.sh
SCRIPTS2 = scripts/test2.sh

# UPLOADS_REMOTE_DIR为第三个节点;
[UPLOADS_REMOTE_DIR]
REMOTE_DIR = /mnt/upload/

# DOWNLOADS_REMOTE_DIR为第四个节点;
[DOWNLOADS_REMOTE_DIR]
REMOTE_DIR = /mnt/download/

# db为第五个节点;
[db]
db_port = 3306
db_user = root
db_host = 127.0.0.1
db_pass = westos

 这个模块对于开发的程序可配置化来说非常的实用

#coding=utf-8

import ConfigParser

def load_envi():
    config = ConfigParser.RawConfigParser()  # 创建对象
    config.read('static/cmdb.info')  # 读取配置文件,如果配置文件不存在则创建
    # 查看
    sects = config.sections()  # 获取所有的节点名称
    print sects

    options = config.options(sects[0])  # 获取指定节点的所有key
    return options[0:4]

def load_appname():
    config = ConfigParser.RawConfigParser()  # 创建对象
    config.read('static/cmdb.info')  # 读取配置文件,如果配置文件不存在则创建
    # 查看
    sects = config.sections()  # 获取所有的节点名称
    return sects

def load_ip_info(appname='acct-web', envi='uat_ip_zj'):
    config = ConfigParser.RawConfigParser() # 创建对象
    config.read('static/cmdb.info')    # 读取配置文件,如果配置文件不存在则创建
    # 查看
    sects = config.sections()  # 获取所有的节点名称
    print sects

    options = config.options(appname)   # 获取指定节点的所有key
    print options

    item_list = config.items(appname)  # 获取指定节点的键值对
    print item_list

    envi = envi
    ip_list=[]
    # val1 = config.get(appname, envi)  # 获取指定节点的指定key的value
    # val2 = eval(config.get(appname, envi))

    if envi == 'westos':
        # print item_list[0][1]
        ip_list.append(item_list[0][1])
    else:
        for i in eval(config.get(appname, envi)):
            # print i['ip']
            ip_list.append(i['ip'])
    return ip_list
    # print val1, type(val2), val2

if __name__ == '__main__':

    print load_envi()

还需要在多学习一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值