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 __setattr__、 __getattr__、 __delattr__、__call__用法示例
Mar 06 Python
简单谈谈Python中的闭包
Nov 30 Python
分享vim python缩进等一些配置
Jul 02 Python
Python实现对特定列表进行从小到大排序操作示例
Feb 11 Python
python修改FTP服务器上的文件名
Sep 11 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
Mar 27 Python
python 的topk算法实例
Apr 02 Python
Python如何基于Tesseract实现识别文字功能
Jun 05 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 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
PHP4和PHP5共存于一系统
2006/11/17 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
javascript中this的四种用法
2015/05/11 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
原生JS封装_new函数实现new关键字的功能
2018/08/12 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
python实现树形打印目录结构
2018/03/29 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
邀请函格式范文
2015/02/02 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
电信营业员岗位职责
2015/04/14 职场文书
学校食堂管理制度
2015/08/04 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
python 详解turtle画爱心代码
2022/02/15 Python
MongoDB使用场景总结
2022/02/24 MongoDB
Python可视化学习之seaborn调色盘
2022/02/24 Python