Python configparser模块常用方法解析


Posted in Python onMay 22, 2020

ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活。

注意:在python 3 中ConfigParser模块名已更名为configparser

configparser函数常用方法:

读取配置文件:

read(filename) #读取配置文件,直接读取ini文件内容

sections() #获取ini文件内所有的section,以列表形式返回['logging', 'mysql']

options(sections) #获取指定sections下所有options ,以列表形式返回['host', 'port', 'user', 'password']

items(sections) #获取指定section下所有的键值对,[('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', '123456')]

get(section, option) #获取section中option的值,返回为string类型
>>>>>获取指定的section下的option <class 'str'> 127.0.0.1

getint(section,option) 返回int类型
getfloat(section, option) 返回float类型
getboolean(section,option) 返回boolen类型

举例如下:

配置文件ini如下:

[logging]
level = 20
path =
server =

[mysql]
host=127.0.0.1
port=3306
user=root
password=123456

注意,也可以使用:替换=

代码如下:

import configparser
from until.file_system import get_init_path

conf = configparser.ConfigParser()
file_path = get_init_path()
print('file_path :',file_path)
conf.read(file_path)

sections = conf.sections()
print('获取配置文件所有的section', sections)

options = conf.options('mysql')
print('获取指定section下所有option', options)


items = conf.items('mysql')
print('获取指定section下所有的键值对', items)


value = conf.get('mysql', 'host')
print('获取指定的section下的option', type(value), value)

运行结果如下:

file_path : /Users/xxx/Desktop/xxx/xxx/xxx.ini
获取配置文件所有的section ['logging', 'mysql']
获取指定section下所有option ['host', 'port', 'user', 'password']
获取指定section下所有的键值对 [('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', '123456')]
获取指定的section下的option <class 'str'> 127.0.0.1

综合使用方法:

import configparser
"""
读取配置文件信息
"""

class ConfigParser():

  config_dic = {}
  @classmethod
  def get_config(cls, sector, item):
    value = None
    try:
      value = cls.config_dic[sector][item]
    except KeyError:
      cf = configparser.ConfigParser()
      cf.read('settings.ini', encoding='utf8') #注意setting.ini配置文件的路径
      value = cf.get(sector, item)
      cls.config_dic = value
    finally:
      return value


if __name__ == '__main__':
  con = ConfigParser()
  res = con.get_config('logging', 'level')
  print(res)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
Django实现分页功能
Jul 02 Python
如何通过python画loss曲线的方法
Jun 26 Python
python中使用while循环的实例
Aug 05 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
python被修饰的函数消失问题解决(基于wraps函数)
Nov 04 Python
python实现上传文件到linux指定目录的方法
Jan 03 Python
python实现飞行棋游戏
Feb 05 Python
python爬虫---requests库的用法详解
Sep 28 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 Python
解决Jupyter-notebook不弹出默认浏览器的问题
Mar 30 Python
keras中的卷积层&amp;池化层的用法
May 22 #Python
Keras Convolution1D与Convolution2D区别说明
May 22 #Python
Python pip安装模块提示错误解决方案
May 22 #Python
keras中的backend.clip用法
May 22 #Python
Pycharm修改python路径过程图解
May 22 #Python
TensorFlow keras卷积神经网络 添加L2正则化方式
May 22 #Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 #Python
You might like
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
第1次亲密接触PHP5(1)
2006/10/09 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
使javascript也能包含文件
2006/10/26 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
javascript的BOM汇总
2015/07/16 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Python实现识别图片内容的方法分析
2018/07/11 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
一份Java笔试题
2012/02/21 面试题
中学生自我评价范文
2014/02/08 职场文书
学校安全责任书
2014/04/14 职场文书
分公司经理任命书
2014/06/05 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
团队拓展活动总结
2014/08/27 职场文书
学生通报表扬范文
2015/05/04 职场文书
目标责任书格式范文
2015/05/11 职场文书
公司车辆维修管理制度
2015/08/05 职场文书