Python-ConfigParser读取ini文件

今天迎来了2013的第一场大雪,离2002年的第一场雪已经过去11年了,真真切切的感受到什么是弹指一挥间。最近工作中用到了CP模块,顺便就总结一下。

 

#!/usr/bin/env python
import ConfigParser as cp

def read(cf):
    for section in cf.sections():
        print '[' + section + ']'
        for option in cf.options(section):
            print option + "=" + cf.get(section,option)

if __name__== '__main__':

    cf = cp.ConfigParser()
    cf.read('aa.ini')

    ##Read
    read(cf)
    ##Modify
    cf.add_section('test')
    cf.set('test', 'key1', 'value1')
    cf.set('test', 'key2', 'value2')
    ##Read
    read(cf)
    ##Write
    cf.write(open("aa.ini", "w")) 
 

1)常见的方法列表,如dir(ConfigParser.ConfigParser):

 

['OPTCRE', 'OPTCRE_NV', 'SECTCRE', '_KEYCRE', '__doc__', '__init__', '__module__', '_boolean_states'

, '_get', '_interpolate', '_interpolation_replace', '_read', 'add_section', 'defaults', 'get', 'getb

oolean', 'getfloat', 'getint', 'has_option', 'has_section', 'items', 'options', 'optionxform', 'read

', 'readfp', 'remove_option', 'remove_section', 'sections', 'set', 'write']

 

 

2)ConfigParser模块包含3个类:ConfigParser、RawConfigParser、SafeConfigParser,RawCnfigParser是最基础的INI文件读取类,ConfigParser、SafeConfigParser支持对%(value)s变量的解析。 当配置文件有些特殊字符时,需要用到RawConfigParser,这里我遇到的情况是日志的配置

 

    ##RawConfigParser
    cf = cp.ConfigParser()
    cf.read('bb.ini')
    read(cf)

    cf = cp.RawConfigParser()
    cf.read('bb.ini')
    read(cf)

[website]
url=http://localhost:80/
host=localhost
port=80
[website]
url=http://%(host)s:%(port)s/
host=localhost
port=80
 

 

你可能感兴趣的:(python)