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写的服务监控程序实例
Jan 31 Python
Python生成不重复随机值的方法
May 11 Python
python利用Guetzli批量压缩图片
Mar 23 Python
Python中函数参数调用方式分析
Aug 09 Python
详解Python sys.argv使用方法
May 10 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
Apr 29 Python
python实现文法左递归的消除方法
May 22 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
Jun 12 Python
python爬虫中PhantomJS加载页面的实例方法
Nov 12 Python
如何用用Python将地址标记在地图上
Feb 07 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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中的数组操作函数整理
2008/08/18 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php从字符串创建函数的方法
2015/03/16 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
python中可以声明变量类型吗
2020/06/18 Python
Django model class Meta原理解析
2020/11/14 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
秘书行业自我鉴定范文
2013/12/30 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
校外活动方案
2014/08/28 职场文书
作风转变心得体会
2014/09/02 职场文书
2014年服务员工作总结
2014/11/18 职场文书
天鹅湖观后感
2015/06/09 职场文书
红色经典观后感
2015/06/18 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
python用tkinter开发的扫雷游戏
2021/06/01 Python
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android
nginx配置指令之server_name的具体使用
2022/08/14 Servers