python解析配置文件

项目中经常需要解析配置文件,最简单的就是有很多个section,然后每个section里面都是很多option,每一项option的组成都是key=value,怎么解析这个配置文件?python有内置的库可以解决,比如下面是一个配置文件的demo

#WatchDir 配置文件
#配置的value的时候除了第一项就先别加单引号或者双引号了

[monitor]
#监控路径
WatchPath='/var/log/'

#数据写到本地磁盘cache时间间隔,单位:S
Interval=10


#是否以守护进程方式运行
Daemon=False

#mysql配置
[mysql]
mysql_host = 127.0.0.1
mysql_username = root
mysql_password = 12345678
mysql_port = 3306
mysql_dbname = db_a
mysql_table = tb_b

下面是一个python的解析类
import ConfigParser
import string, os, sys

class MyParseConf(object):
    def __init__(self,conf_path):
        self.conf_path = conf_path
        self.cf = ConfigParser.ConfigParser()
        self.cf.read(conf_path)
    def get_value(self,section,key,is_bool = False,is_int = False):
        if is_bool and not is_int:
            #bool类型
            value = self.cf.getboolean(section,key)
            print key,":",value,type(value)
            return value
        elif not is_bool and is_int:
            value = self.cf.getint(section,key)
            print key,":",value,type(value)
            return value

        value = self.cf.get(section,key)
        print key,":",value,type(value)
        return value

mpc = MyParseConf("./test.conf")
mpc.get_value("monitor","Daemon",is_bool=True)
mpc.get_value("monitor","Interval",is_int=True)
mpc.get_value("monitor","WatchPath")

标签:Linux, Python