ConfigParser模块实现了基本的配置文件解析,在python3.x,这个模块更名为configparser .
1. 配置文件基本结构:
[SectionName]
key1 = value1 (或者是 key1: value1)
key2 = value2
2. 通过以下函数去获取配置信息:
ConfigParser.get(section,option[,raw[,vars]]) 返回某一section下指定key 的值
ConfigParser.items(section[,raw[,vars]]) 返回包含某一section下所有健值对的一个Dictionary
Note: 实践证明,items()返回的dictionary中不仅包含section下面所有的键值对,还包括:
1). 指定vars 中存在的键值对
2). vars = None的话,指定Section 下面不存在,但DEFAULT section下面存在的键值对
所以如果只想获取指定Section下面的键值对,而是用DEFAULT section 或vars来做一些变量替换的话,要注意里面的一些冗余的键值对。
3. 配置文件中添加备注信息:(这些备注信息在ConfigParser解析时会被忽略)
1). 在空白行添加备注信息,可以使用“;” 或“#” 开头,后面是你的备注信息:
;your comments
# your comments
2). 如果是在有内容的行内添加备注,只能使用“;” 开头。
[SectionName] ;your comments
key=value ;your comments
4. ConfigParser 的传参:
1). 如果同一个section 下面有对应参数的值, 则优先用这个值替换参数
[SectionName]
key = %(god)s is very kind
god= I
在读取key的时候,会用 "I" 来替换“god”
2). 如果同一个section 下面没有对应参数的值, 而在DEFAULT section下有,则用者下面的替换:
[SectionName]
key = %(god)s is very kind
[DEFAULT]
god= I
3). 也可以 在读取配置信息时,用一个包含这个值的Dictionary来实现替换, 字典dictA 里面如果包含了需要替换的参数,则使用dictA里面的值进行替换,否则再按照 1),2)两种情形来替换
[SectionName]
key = %(god)s is very kind
读取时:
dictA = {''god":"I"}
get(SectionName, key , vars = dictA)
小小的记录,如果有新的收获再更新。