Python中的configparser模块用来处理特定格式的文件,其本质上是利用open来操作文件。
Python Version: 3.5+
configparser指定的格式
1 2 3 4 5 6 7 8 9
| # 注释1 ; 注释2 [section1] # 节点 k1 = v1 # 值 k2:v2 # 值 [section2] # 节点 k1 = v1 # 值
|
获取所有节点信息
实例配置文件
1 2 3 4 5
| [mysql] version=5.7
[python] version:3.5
|
代码
1 2 3 4 5 6 7 8 9
| import configparser
config = configparser.ConfigParser() config.read('test.conf', encoding='utf-8') ret = config.sections() print(ret)
------------ ['mysql', 'python']
|
获取指定节点下的所有键值对
1 2 3 4 5 6 7 8 9
| import configparser
config = configparser.ConfigParser() config.read('test.conf', encoding='utf-8') ret = config.items('mysql') print(ret)
------------ [('version', '5.7')]
|
获取指定节点下的所有键
1 2 3 4 5 6 7 8 9
| import configparser
config = configparser.ConfigParser() config.read('test.conf', encoding='utf-8') ret = config.options('mysql') print(ret)
------------ ['version']
|
获取指定节点下的所有值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import configparser
config = configparser.ConfigParser() config.read('test.conf', encoding='utf-8')
ret = config.getfloat('mysql', 'version') print(ret, type(ret))
------------ 5.7 <class 'float'>
|
节点的增删查
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import configparser
config = configparser.ConfigParser() config.read('test.conf', encoding='utf-8')
has_sec = config.has_section('mysql') print(has_sec)
config.add_section('java') config.write(open('test.conf', 'w'))
config.remove_section('python') config.write(open('test.conf', 'w'))
------------ True
|
1 2 3 4 5
| > cat test.conf [mysql] version = 5.7
[java]
|
节点内键值对的删改查
1 2 3 4 5 6
| > cat test.conf [mysql] version = 5.7 path = /usr/local/mysql
[java]
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import configparser
config = configparser.ConfigParser() config.read('test.conf', encoding='utf-8')
has_opt = config.has_option('mysql', 'version') print(has_opt)
config.set('mysql', 'path', '/usr/local/src/mysql') config.write(open('test.conf', 'w'))
config.remove_option('mysql', 'version') config.write(open('test.conf', 'w'))
------------ True
|
1 2 3 4 5
| > cat test.conf [mysql] path = /usr/local/src/mysql
[java]
|
configparser模块中,对节点没有修改的操作,对节点下的键值对没有增加的操作