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 相关文章推荐
Java分治归并排序算法实例详解
Dec 12 Python
python kmeans聚类简单介绍和实现代码
Feb 23 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
在python中做正态性检验示例
Dec 09 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
django使用graphql的实例
Sep 02 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
python实现杨辉三角的几种方法代码实例
Mar 02 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处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php调用shell的方法
2014/11/05 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
CSS实现的一闪而过的图片闪光效果
2014/04/23 HTML / CSS
HTML5本地存储之Web Storage应用介绍
2013/01/06 HTML / CSS
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
接口可以包含哪些成员
2012/09/30 面试题
函授本科毕业生自我鉴定
2013/10/16 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
人力资源主管岗位职责
2014/01/29 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
只用Python就可以制作的简单词云
2021/06/07 Python
SpringRetry重试框架的具体使用
2021/07/25 Java/Android