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使用webbrowser浏览指定url的方法
Apr 04 Python
详解Python中for循环的使用
Apr 14 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
python对象及面向对象技术详解
Jul 19 Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
Python框架Flask的基本数据库操作方法分析
Jul 13 Python
Django 路由控制的实现
Jul 17 Python
Python异常原理及异常捕捉实现过程解析
Mar 25 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
Python中如何引入第三方模块
May 27 Python
使用django自带的user做外键的方法
Nov 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
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
在线竞拍系统的PHP实现框架(二)
2006/10/09 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
vue引入axios同源跨域问题
2018/09/27 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
vue实现购物车列表
2020/06/30 Javascript
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
深入理解javascript中的this
2021/02/08 Javascript
vscode 远程调试python的方法
2017/12/01 Python
对Python定时任务的启动和停止方法详解
2019/02/19 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
称象教学反思
2014/02/03 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
高中美术教师事迹材料
2014/08/22 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
山楂树之恋观后感
2015/06/11 职场文书
redis 存储对象的方法对比分析
2021/08/02 Redis
「月刊Comic Alive」2022年5月号封面公开
2022/03/21 日漫
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android