Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1025664
  • 博文数量: 171
  • 博客积分: 55
  • 博客等级: 民兵
  • 技术积分: 2077
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 10:11
个人简介

pugna

文章分类

全部博文(171)

文章存档

2021年(4)

2020年(1)

2019年(4)

2018年(5)

2017年(7)

2016年(9)

2015年(36)

2014年(8)

2013年(96)

2012年(1)

分类: Python/Ruby

2015-12-24 09:03:29

原文地址:[原]Python模块之: configobj 作者:wzhuzhu

[url][/url]
原来也有写过一篇文章Python模块之: ConfigParser 用来解析INI文件,但是在使用过程中存在一些问题。比如:
1,不能区分大小写。
2,重新写入的ini文件不能保留原有INI文件的注释。
3,重新写入的ini文件不能保持原有的顺序。
4,不支持嵌套。
5,不支持格式校验。
我本来是想扩展ConfigParser来支持上面的一些缺点的,但是我觉得应该有人有类似的问题并应该有相关的模块满足
我上面的需求的,于是放G搜索之。得到一个Lib: configobj。下面我将举例说明其常用的几个方法:
在介绍之前,还是先各处初始化的test.ini文件:[code][server]
servername = 192.168.11.1
serverport = 8000

[client_srv]
# 这里是注释
server = localhost
port = 8000
[/code]A: 解析文件:[code]from configobj import ConfigObj
#
conf_ini = "./test.ini"
config = ConfigObj(conf_ini)
#
# 读配置文件
#
print config['server']
print config['server']['servername']
[/code]B: 修改配置文件[code]from configobj import ConfigObj
#
conf_ini = "./test.ini"
config = ConfigObj(conf_ini)
config['server']['servername'] = "127.0.0.1"
config.write()
[/code]C:添加新项:[code]from configobj import ConfigObj
#
conf_ini = "./test.ini"
config = ConfigObj(conf_ini)
config['new_items'] = {}
config['new_items']['Items1'] = "test items"
config.write()
[/code]D: 删除项:[code]from configobj import ConfigObj
#
conf_ini = "./test.ini"
config = ConfigObj(conf_ini)
del config['client_srv']['port']
config.write()
[/code]E: 将配置文件写入到不同的文件:[code]from configobj import ConfigObj
#
conf_ini = "./test.ini"
config = ConfigObj(conf_ini)
del config['client_srv']['port']
config.filename = "./test1.ini"
config.write()
[/code]
阅读(1441) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~