一、configparser模块介绍
1、定义:
ConfigParser是用来读取配置文件的包,可对配置文件进行读写操作;如系统中缺乏该模块,可安装包configparser;
2、配置文件的标准格式:
[db] db_host = 127.0.0.1 db_port = 69 db_user = root db_pass = root host_port = 69 [concurrent] thread = 10 processor = 20 #一个配置文件可包含多个section;一个section可对应多个option;
3、configparser模块的使用流程
import configparser #引入configparser模块 config = configparser.ConfigParser() #实例化对象 config.read('ini',encoding='utf-8') #开始读取配置文件 #判断是否存在section:config.has_section(section) #判断是否存在option:config.has_option(section,option) #添加section:config.add_section(section) #添加/修改option:config.set(section,option,value) #获取所有的section:config.sections() #获取指定section下的所有option:config.options(section) #获取指定section下的指定option:config.get(section,option) #获取指定section的所有配置信息:config.items(section) config.write(open('ini','w'))
二、模块具体用法
1、创建配置文件
import configparser config = configparser.ConfigParser() config.read('ini',encoding='utf-8') if not config.has_section('db'): config.add_section('db') else: if not config.has_option('db','db_host'): config.set('db','db_host','127.0.0.1') config.set('db','db_user','root') config.set('db','db_pwd','root') config.set('db','db_port','3306') config.write(open('ini','w'))
[db] db_host = 127.0.0.1 db_user = root db_pwd = root db_port = 3306
2、获取配置文件中的所有section
import configparser config = configparser.ConfigParser() config.read('ini',encoding='utf-8') result = config.sections() print(result) config.write(open('ini','w')) #结果以列表形式返回 #['db', 'mysql']
3、获取指定section下的所有options
import configparser config = configparser.ConfigParser() config.read('ini',encoding='utf-8') result = config.options('db') print(result) config.write(open('ini','w')) #结果以列表形式返回 #['db_host', 'db_user', 'db_pwd', 'db_port']
4、获取指定section下的所有配置信息
import configparser config = configparser.ConfigParser() config.read('ini',encoding='utf-8') result = config.items('db') print(result) config.write(open('ini','w')) #结果以列表内包含元组的形式返回 #[('db_host', '127.0.0.1'), ('db_user', 'root'), ('db_pwd', 'root'), ##('db_port', '3306')]
5、获取指定section下指定option(以不同格式)
[db] db_host = 127.0.0.1 db_user = root db_pwd = root db_port = 3306 enable = 0
import configparser config = configparser.ConfigParser() config.read('ini',encoding='utf-8') #获取字符串形式的值 result = config.get('db','db_port') print(result,type(result)) #获取int格式的值 result = config.getint('db','db_port') print(result,type(result)) #获取floot格式的值 result = config.getfloat('db','db_port') print(result,type(result)) #获取bool格式的值 result = config.getboolean('db','enable') print(result,type(result)) config.write(open('ini','w'))
3306 <class 'str'> 3306 <class 'int'> 3306.0 <class 'float'> False <class 'bool'>