configparser
是python标准库中唯一 一个具有指定的配置文件操作,
基本的读取配置文件
-read(filename) 直接读取ini文件内容
-sections() 得到所有的section,并以列表的形式返回
-options(section) 得到该section的所有option
-items(section) 得到该section的所有键值对
-get(section,option) 得到section中option的值,返回为string类型
-getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。基本的写入配置文件
-add_section(section) 添加一个新的section
-set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件。
注意事项
配置参数读出来都是字符串类型, 参数运算时,注意类型转换,另外,对于字符型参数,不需要加“”
应用
支持配置文件(.ini、 .conf、 .cfg)的读写
缺点
1,不能区分大小写。
2,重新写入的ini文件不能保留原有INI文件的注释。
3,重新写入的ini文件不能保持原有的顺序。
4,不支持嵌套。
5,不支持格式校验。
无序的问题
举例
默认的ConfigParser对于选项是按照字母顺序排列的。
>>> from ConfigParser import ConfigParser
>>> cf = ConfigParser()
>>> cf.add_section('d')
>>> cf.set('d', 'name', 'smallfish')
>>> cf.add_section('a')
>>> cf.set('a', 'name', 'smallfish2')
>>> cf.write(open('d:/a.ini', 'w'))
>>> cf = None
生成配置如下:
[a]
name = smallfish2
[d]
name = smallfish
对ConfigParser中section的顺序,属于字典,本身就是无序的。ConfigObj库还不错,可以实现顺序
>>> from configobj import ConfigObj
>>> config = ConfigObj()
>>> config.filename = 'd:/a.ini'
>>> config['d'] = {}
>>> config['d']['name'] = 'smallfish'
>>> config['a'] = {}
>>> config['a']['name'] = 'smallfish2'
>>> config.write()
生成配置如下:
[d]
name = smallfish
[a]
name = smallfish2
ConfigObj
为configparser的升级版
读写操作,参考文章:
python 使用ConfigParser,ConfigObj读取配置
https://blog.csdn.net/iteye_3128/article/details/82541613