原来也有写过一篇文章Python模块之: ConfigParser 用来解析INI文件,但是在使用过程中存在一些问题。比如:
1,不能区分大小写。
2,重新写入的ini文件不能保留原有INI文件的注释。
3,重新写入的ini文件不能保持原有的顺序。
4,不支持嵌套。
5,不支持格式校验。
我本来是想扩展ConfigParser来支持上面的一些缺点的,但是我觉得应该有人有类似的问题并应该有相关的模块满足
我上面的需求的,于是放G搜索之。得到一个Lib: configobj。下面我将举例说明其常用的几个方法:
项目地址:http://www.voidspace.org.uk/python/configobj.html
在介绍之前,还是先各处初始化的test.ini文件:
| 1 2 3 4 5 6 7 8 | [server]servername = 192.168.11.1serverport = 8000[client_srv]# 这里是注释server = localhostport = 8000 | 
A: 解析文件:
| 1 2 3 4 5 6 7 8 9 | fromconfigobj importConfigObj#conf_ini ="./test.ini"config =ConfigObj(conf_ini,encoding='UTF8')## 读配置文件#printconfig['server']printconfig['server']['servername'] | 
B: 修改配置文件
| 1 2 3 4 5 6 | fromconfigobj importConfigObj#conf_ini ="./test.ini"config =ConfigObj(conf_ini,encoding='UTF8')config['server']['servername'] ="127.0.0.1"config.write() | 
C:添加新项:
| 1 2 3 4 5 6 7 | fromconfigobj importConfigObj#conf_ini ="./test.ini"config =ConfigObj(conf_ini,encoding='UTF8')config['new_items'] ={}config['new_items']['Items1'] ="test items"config.write() | 
D: 删除项:
| 1 2 3 4 5 6 | fromconfigobj importConfigObj#conf_ini ="./test.ini"config =ConfigObj(conf_ini,encoding='UTF8')delconfig['client_srv']['port']config.write() | 
E: 将配置文件写入到不同的文件:
| 1 2 3 4 5 6 7 | fromconfigobj importConfigObj#conf_ini ="./test.ini"config =ConfigObj(conf_ini,encoding='UTF8')delconfig['client_srv']['port']config.filename ="./test1.ini"config.write() | 
 
                    
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号