python configparser模块用来处理ini文件,读、写都很方便,唯一要注意的是ini文件有格式要求,格式为:键=值,如果没有等于号,读取时会抛出异常。
一、读取文件
1.1、read(filename),读取ini文件内容。
            
              >>> 
>>> import configparser
>>> 
>>> file = r'D:\test.ini'
>>> file
'D:\\test.ini'
>>> cf = configparser.ConfigParser()
>>> file_name = cf.read(file)
Traceback (most recent call last):
  File "
              
                ", line 1, in 
                
                  
    file_name = cf.read(file)
  File "C:\python37\lib\configparser.py", line 696, in read
    self._read(fp, filename)
  File "C:\python37\lib\configparser.py", line 1014, in _read
    for lineno, line in enumerate(fp, start=1):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 15: illegal multibyte sequence
>>> file_name = cf.read(file, encoding='utf-8')
>>> file_name
['D:\\test.ini']
>>> 
                 
               
            
          
          1.2、sections(),读取所有的section,以列表形式返回。
            
              >>> 
>>> section = cf.sections()
>>> section
['xiaoming', 'liqin', 'xiaoqiang']
>>> 
            
          
          1.3、options(sections),读取指定sections下所有options ,以列表形式返回。
            
              >>> 
>>> key = cf.options(section[1])
>>> key
['gradd', 'age', 'score', 'sex', 'registered']
>>> 
            
          
          1.4、items(sections),读取指定section下所有的键值对,返回列表,列表里面是键值对元祖。
            
              >>> 
>>> item = cf.items(section[1])
>>> item
[('gradd', '2'), ('age', '7'), ('score', '89.5'), ('sex', 'female'), ('registered', 'false')]
>>> 
            
          
          1.5、get(section, option),读取section中option的值,返回为string类型。
            
              >>> 
>>> sex = cf.get(section[1], key[3])
>>> sex
'female'
>>> 
            
          
          1.6、getint(section,option),读取section中option的值,返回int类型。
            
              >>> 
>>> age = cf.getint(section[1], key[1])
>>> age
7
>>> 
>>> age = cf.get(section[1], key[1])
>>> age
'7'
>>> 
            
          
          1.7、getfloat(section,option),读取section中option的值,返回float类型。
            
              >>> 
>>> score = cf.get(section[1], key[2])
>>> score
'89.5'
>>> 
>>> score = cf.getfloat(section[1], key[2])
>>> score
89.5
>>> 
            
          
          1.8、getboolean(section,option),读取section中option的值,返回boolean类型。
            
              >>> 
>>> registere = cf.get(section[1], key[4])
>>> registere
'false'
>>> 
>>> registere = cf.getboolean(section[1], key[4])
>>> registere
False
>>> 
            
          
          二、写入文件:
2.1、add_section(section),添加section项。
2.2、set(section,option,value),给section项中新增写入键值对,修改也是用它。
2.3、write(filename),将configparser对象写入ini文件。
            
              >>> 
>>> cf.add_section('xiaohong')
>>> cf.set('xiaohong', 'grade' , '4')
>>> cf.set('xiaohong', 'age' , '10')
>>> cf.set('xiaohong', 'score' , '87.7')
>>> cf.set('xiaohong', 'sex' , 'female')
>>> cf.set('xiaohong', 'registered' , 'true')
>>> 
>>> with open(file, 'w+') as f:
	cf.write(f)
	
>>> 
            
          
          
          三、修改文件
3.1、remove_section(section),删除文件中指定的section(整个section相关内容都全部删除)。
3.2、remove_option(section,option),删除文件中某个section下的option的数值。
3.3、set(section,option,value),修改section项中键值对。
3.4、最后记得写入文件write(filename)。
            
              >>> cf.remove_section('xiaoming')
True
>>> cf.remove_option('liqin', 'age')
True
>>> with open(file, 'w+') as f:
	cf.write(f)
	
>>> cf.set('xiaohong', 'score' , '100')
>>> with open(file, 'w+') as f:
	cf.write(f)
	
>>> 
            
          
          
        


 
             
             
             
					 
					