美文网首页Python
Pyhton config文件解析

Pyhton config文件解析

作者: 步履不停的Suunny | 来源:发表于2017-12-26 15:59 被阅读6次

    1、配置文件的格式
    一般来讲,配置文件的格式是这样的:

    [SectionA]   # 方括号里叫做一个section
    a = aa       # 这里的每一行,等号左侧是一个option,右侧是option的value
    b = bb
    c = cc
    
    [SectionB]
    optionint = 1
    optionfloat = 1.1
    optionstring = string
    注:配置文件是没有注释的,不要乱写,否则读的时候会出错。xml和json也一样 。 需确认!
    

    2、python读取配置文件,使用方法模块ConfigParse

    with open(filename, 'r') as fr:
         cfg = ConfigParser.ConfigParser()
         cfg.readfp(fr)
    

    这就读好了。下面的工作就是解析cfg。

    # 读取所有sections:
    secs = cfg.sections()            # ['SectionA', 'SectionB']
    结果得到section的列表。
    
    # 读取某一个section里面的所有options
    ops0 = cfg.options(secs[0])      # ['a', 'b', 'c']
    结果得到所有options的列表。
    
    获得option和value的键值对, ——直接使用items就好了:
    ops1 = cfg.items(secs[1])
    
    print ops1  #获得的是一个列表。 
    [('optionint', '1'), ('optionfloat', '1.1'), ('optionstring', 'string')]
    希望把它当做字典来用的话,需要dict(ops1)
    
    如果只想获得某一个option的值怎么办呢?可以用一系列get的方法:
    print cfg.getint(secs[1], 'optionint')      # 1
    print cfg.getfloat(secs[1], 'optionfloat')  # 1.1
    print cfg.get(secs[1], 'optionstring')      # string
    

    以上就是ConfigPhaser模块的简单用法。然而这个模块并不只是能简单的读取配置文件,还可以动态的添加内容,用法如下:

    cfg.add_section('SectionC') 
    cfg.set('SectionC', 'ex', 'example')
    

    或者删除配置:

    cfg.remove_option('SectionC', 'ex')
    cfg.remove_section('SectionC')
    

    然后

    with open(filename, 'w') as fw:
         cfg.write(fw)
    

    这样就把配置写回到配置文件里去了

    相关文章

      网友评论

        本文标题:Pyhton config文件解析

        本文链接:https://www.haomeiwen.com/subject/tmljgxtx.html