1. Use the Configparser module that comes with Python:
#test. cfg file contents: [sec_a]a_key1 = 20a_key2 = 10[sec_b]b_key1 = 121b_key2 = B_value2b_key3 = $rb _key4 = 127.0.0.1
# -* - coding: utf-8 -* -import configparser# generating the Config object conf = Configparser.configparser () #用config对象读取配置文件conf. Read ("Test.cfg") #以列表形式返回所有的sectionsections = Conf.sections () print ' sections: ', sections # sections: [' sec_b ', ' sec_a '] #得到指定section的所有optionoptions = conf.options ("sec_a") print ' options: ', options #options: [' a_key1 ', ' A_key2 '] #得到指定section的所有键值对kvs = conf.items ("sec_a") print ' sec_a: ', kvs #sec_ a: [(' a_key1 ', '), (' A_key2 ', ')] #指定section, option Read value Str_val = conf.get (" Sec_a ", " A_key1 ") int_val = conf.getint (" Sec_a ", " A_key2 ") print " value for Sec_a ' s a_key1: ", str_val #value for sec_a ' s a_key1: 20print "Value for sec_a ' s a_key2: ", int_val #value for sec_a ' s a_key2: 10# write config file # Updates the value of the specified section,option conf.set ("Sec_b", "B_key3", "new-$r") #写入指定section增加新option和值conf. Set ("Sec_b", "B_newkey", "New-value") #增加新的sectionconf. Add_section (' a_new_section ') conf.set (' a_new_section '), ' New_key ', ' New_value ') #写回配置文件conf. Write (Open ("Test.cfg", "W"))
2.C some questions about Onfigparser:
1, cannot be case sensitive.
2, the re-write INI file cannot retain the comments of the original INI file.
3, the re-write INI file cannot be kept in its original order.
4, nesting is not supported.
5, format verification is not supported.
Try the following:configobj module
#读文件from configobj import ConfigObj config = Configobj (filename) # value1 = config[' keyword1 '] value2 = config[' keyword2 '] # section1 = config[' Section1 '] value3 = section1[' Keyword3 '] value4 = section1[' Keyword4 '] # # you could also write value3 = config[ ' Section1 ' [' Keyword3 '] value4 = config[' section1 '] [' KEYWORD4 '] #写文件如下:from configobj import Configobjconfig = configobj () config.filename = filename#config[' keyword1 '] = value1config[' keyword2 '] = value2#config[ ' Section1 '] = {}config[' section1 ' [' Keyword3 '] = value3config[' section1 ' [' Keyword4 '] = value4#section2 = { ' Keyword5 ': value5, ' Keyword6 ': value6, ' sub-section ': { ' Keyword7 ': value7 }}config[' Section2 '] = section2#config[' Section3 '] = {}config[' section3 ' [' Keyword 8 '] = [ value8, value9, value10]config[' Section3 ' [' keyword 9 '] = [value11, value12,  VALUE13] #config. Write ()
Python parsing ini, conf, cfg files