Python配置文件解析器ConfigParser 的基本结构、备注和传参

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)


小小的记录,如果有新的收获再更新。



猜你喜欢

转载自blog.csdn.net/qq_42293590/article/details/90057552
今日推荐