Python configparser模块应用过程解析


Posted in Python onAugust 14, 2020

一、configparser模块是什么

可以用来操作后缀为 .ini 的配置文件;

python标准库(就是python自带的意思,无需安装)

二、configparser模块基本使用

2.1 读取 ini 配置文件

#存在 config.ini 配置文件,内容如下:
[DEFAULT]
excel_path = ../test_cases/case_data.xlsx
log_path = ../logs/test.log
log_level = 1

[email]
user_name = 32@qq.com
password = 123456

使用configparser模块读取配置文件

import configparser

#创建配置文件对象
conf = configparser.ConfigParser()
#读取配置文件
conf.read('config.ini', encoding="utf-8")
#列表方式返回配置文件所有的section
print( conf.sections() )  #结果:['default', 'email']
#列表方式返回配置文件email 这个section下的所有键名称
print( conf.options('email') )  #结果:['user_name', 'password']
#以[(),()]格式返回 email 这个section下的所有键值对
print( conf.items('email') )  #结果:[('user_name', '32@qq.com'), ('password', '123456')]
#使用get方法获取配置文件具体的值,get方法:参数1-->section(节) 参数2-->key(键名)
value = conf.get('default', 'excel_path')
print(value)

2.2 写入 ini 配置文件(字典形式)

import configparser

#创建配置文件对象
conf = configparser.ConfigParser()
#'DEFAULT'为section的名称,值中的字典为section下的键值对
conf["DEFAULT"] = {'excel_path' : '../test_cases/case_data.xlsx' , 'log_path' : '../logs/test.log'}
conf["email"] = {'user_name':'32@qq.com','password':'123456'}
#把设置的conf对象内容写入config.ini文件
with open('config.ini', 'w') as configfile:
  conf.write(configfile)

2.3 写入 ini 配置文件(方法形式)

import configparser

#创建配置文件对象
conf = configparser.ConfigParser()
#读取配置文件
conf.read('config.ini', encoding="utf-8")
#在conf对象中新增section
conf.add_section('webserver')
#在section对象中新增键值对
conf.set('webserver','ip','127.0.0.1')
conf.set('webserver','port','80')
#修改'DEFAULT'中键为'log_path'的值,如没有该键,则新建
conf.set('DEFAULT','log_path','test.log')
#删除指定section
conf.remove_section('email')
#删除指定键值对
conf.remove_option('DEFAULT','excel_path')
#写入config.ini文件
with open('config.ini', 'w') as f:
  conf.write(f)

上述3个例子基本阐述了configparser模块的核心功能项;

  • 例1中,encoding="utf-8"为了放置读取的适合中文乱码;
  • 例2你可以理解为在字典中新增数据,键:配置文件的section,字符串格式;值:section的键值对,字典格式;
  • 例3中在使用add_section方法时,如果配置文件存在section,则会报错;而set方法在使用时,有则修改,无则新建。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python的数字类型变量与其方法
Nov 20 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
10个Python小技巧你值得拥有
Sep 29 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
Python + Flask 实现简单的验证码系统
Oct 01 Python
python中的 zip函数详解及用法举例
Feb 16 Python
Python任务自动化工具tox使用教程
Mar 17 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
Python selenium自动化测试模型图解
Apr 15 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
Sep 29 Python
PyCharm 2020.2 安装详细教程
Sep 25 #Python
Python logging模块handlers用法详解
Aug 14 #Python
Python代码注释规范代码实例解析
Aug 14 #Python
Python发送邮件实现基础解析
Aug 14 #Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 #Python
Python编写memcached启动脚本代码实例
Aug 14 #Python
Python自动巡检H3C交换机实现过程解析
Aug 14 #Python
You might like
PHP4之COOKIE支持详解
2006/10/09 PHP
NO3第三帝国留言簿制作过程
2006/10/09 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
js select option对象小结
2013/12/20 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
angular中使用路由和$location切换视图
2015/01/23 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
Python常用内置函数总结
2015/02/08 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
Python列表list常用内建函数实例小结
2019/10/22 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
python如何建立全零数组
2020/07/19 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
基于python的opencv图像处理实现对斑马线的检测示例
2020/11/29 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
护士上岗前培训自我鉴定
2014/04/20 职场文书
大学新闻系自荐书
2014/05/31 职场文书
科技节口号
2014/06/19 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
作风转变年心得体会
2014/10/22 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
心灵点滴观后感
2015/06/02 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书