1. 简介
configparser用于配置文件解析,可以解析特定格式的配置文件,多数此类配置文件名格式为XXX.ini,例如mysql的配置文件。在python3.X中
模块名为configparser ,在python2.X中使用的模块名为ConfigParser。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
##### ini 文件示例 ########[section1] name = wang
age = 18
[section2]name:pythonage = 19
#### 文件格式说明 #########[XXX] 代表节点XX = XX 或者 XX : XX 代表参数
|
2. 使用
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import configparser # 导入模块
config = configparser.ConfigParser() # 创建对象
config.read("user.ini", encoding="utf-8") # 读取配置文件,如果配置文件不存在则创建
# 查看secs = config.sections() # 获取所有的节点名称
print(secs)
# ['section1', 'section2']options = config.options('section1') # 获取指定节点的所有key
print(options)
# ['name', 'age']item_list = config.items('section1') # 获取指定节点的键值对
print(item_list)
#[('name', 'wang'), ('age', '18')]val = config.get('section1', 'name') # 获取指定节点的指定key的value
print(val)
# wangval = config.getint('section1', 'age') # 获取节点section1的age属性,属性需要是int型,否则ValueError
print(val)
# 18val = config.has_section('section1') # 检查指定节点是否存在,返回True或False
print(val)
# Trueval = config.has_option('section1', 'age') # 检查指定节点中是否存在某个key,返回True或False
print(val)
#True# 增删改config.add_section("node") # 添加一个节点,节点名为node, 此时添加的节点node尚未写入文件
config.write(open('user.ini', "w")) # 将添加的节点node写入配置文件
config.remove_section("node") # 删除一个节点,节点名为node, 删掉了内存中的节点node
config.write(open("user.ini", "w")) # 将删除节点node后的文件内容回写到配置文件
config.set("section1", "k1", "v1") # 在已存在的节点中添加一个键值对k1 = v1 ,如果该节点不存在则报错,如果key已经存在,则修改value
# configparser.NoSectionError: No section: 'section'config.write(open("user.ini", "w"))
|
本博客所有python版本默认为3.5.1
1. 简介
configparser用于配置文件解析,可以解析特定格式的配置文件,多数此类配置文件名格式为XXX.ini,例如mysql的配置文件。在python3.X中
模块名为configparser ,在python2.X中使用的模块名为ConfigParser。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
##### ini 文件示例 ########[section1] name = wang
age = 18
[section2]name:pythonage = 19
#### 文件格式说明 #########[XXX] 代表节点XX = XX 或者 XX : XX 代表参数
|
2. 使用
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import configparser # 导入模块
config = configparser.ConfigParser() # 创建对象
config.read("user.ini", encoding="utf-8") # 读取配置文件,如果配置文件不存在则创建
# 查看secs = config.sections() # 获取所有的节点名称
print(secs)
# ['section1', 'section2']options = config.options('section1') # 获取指定节点的所有key
print(options)
# ['name', 'age']item_list = config.items('section1') # 获取指定节点的键值对
print(item_list)
#[('name', 'wang'), ('age', '18')]val = config.get('section1', 'name') # 获取指定节点的指定key的value
print(val)
# wangval = config.getint('section1', 'age') # 获取节点section1的age属性,属性需要是int型,否则ValueError
print(val)
# 18val = config.has_section('section1') # 检查指定节点是否存在,返回True或False
print(val)
# Trueval = config.has_option('section1', 'age') # 检查指定节点中是否存在某个key,返回True或False
print(val)
#True# 增删改config.add_section("node") # 添加一个节点,节点名为node, 此时添加的节点node尚未写入文件
config.write(open('user.ini', "w")) # 将添加的节点node写入配置文件
config.remove_section("node") # 删除一个节点,节点名为node, 删掉了内存中的节点node
config.write(open("user.ini", "w")) # 将删除节点node后的文件内容回写到配置文件
config.set("section1", "k1", "v1") # 在已存在的节点中添加一个键值对k1 = v1 ,如果该节点不存在则报错,如果key已经存在,则修改value
# configparser.NoSectionError: No section: 'section'config.write(open("user.ini", "w"))
|