一、介绍
ConfigParser 是Python标准库中的一个模块,用以解析 *.ini 格式的配置文件。
ConfigParser 模块中包含了一个 ConfigParser 类,一个 ConfigParser 对象可以同时解析多个 *.ini 格式的配置文件。
二、安装
在python2中 ConfigParser 的则不需要安装直接引入即可,
import ConfigParser
在python3中需要 执行 pip install congfigparser 进行安装,并且在 python3中 ConfigParser的包名的拼写改成了全部小写。
python3 引入
import configparser
三、ConfigParser 提供的方法
ConfigParser 中有很多的方法,其中与读取配置文件,判断配置项相关的方法有:
- sections: 返回一个包含所有章节的列表;
- has_sesction: 判断指定章节是否存在;
- items: 以元组的形式返回指定章节所有的选项;
- options: 返回一个包含指定章节下的所有选项的列表;
- has_option: 判断指定章节下的指定选项是否存在;
- get、getbollean、getint、getfloat 获取指定章节下指定选项的值。
四、基本使用
假设要解析的文件名为 test.ini
内容为:
[client]
port=10060
user=root
导包
#python2
import ConfigParser
#python3 在引入前先安装 pip install ConfigParser
import configparser
创建ConfigParser对象
#python2
>>> cf = ConfigParser.ConfigParser(allow_no_value=True)
#python3
>>> cf = configparser.ConfigParser(allow_no_value=True)
在上面的代码中 allow_no_value 参数表示在配置文件中是否允许选项没有值,默认情况下所有选项都应该有值。但是,在一些应用中 选项存表示取值为 真 不存在表示为 假,因此在解析配置文件时需要指定allow_no_value的值 (默认为False,表示不允许选项为空
读取 test.ini 文件
>>> cf.read('test.ini')
['test.ini'
返回一个包含所有章节的列表
>>> cf.sections()
['client', 'server']
判断指定章节是否存在
>>> cf.has_section('client')
True
以元组的形式返回指定章节的所有选项
>>> cf.items('client')
[('port', '10060'), ('user', 'root')]
返回一个包含指定章节下的所有选项的列表
>>> cf.options('client')
['port', 'user']
判断指定章节下的指定属性是否存在
>>> cf.has_option('client','user')
True
获取指定章节下指定选项的值
>>> cf.get('client','user')
'root'