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 网络编程起步(Socket发送消息)
Sep 06 Python
用python删除java文件头上版权信息的方法
Jul 31 Python
Python编程中装饰器的使用示例解析
Jun 20 Python
使用Python编写一个最基础的代码解释器的要点解析
Jul 12 Python
python绘制条形图方法代码详解
Dec 19 Python
python中的随机函数小结
Jan 27 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
python 在某.py文件中调用其他.py内的函数的方法
Jun 25 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
python实现简单遗传算法
Sep 18 Python
python中如何打包用户自定义模块
Sep 23 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
PHP中extract()函数的妙用分析
2012/07/11 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
javascript中innerText和innerHTML属性用法实例分析
2015/05/13 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
小程序实现锚点滑动效果
2019/09/23 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
Python本地与全局命名空间用法实例
2015/06/16 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
基于python调用psutil模块过程解析
2019/12/20 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
Python爬取网页信息的示例
2020/09/24 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
中专毕业生自荐信
2013/11/16 职场文书
加工操作管理制度
2014/01/19 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
学生操行评语大全
2014/04/24 职场文书
师德师风的心得体会
2014/09/02 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
Tomcat配置访问日志和线程数
2022/05/06 Servers
小程序实现侧滑删除功能
2022/06/25 Javascript