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 相关文章推荐
tornado捕获和处理404错误的方法
Feb 26 Python
Python采集腾讯新闻实例
Jul 10 Python
Python用GET方法上传文件
Mar 10 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
Python数据可视化:箱线图多种库画法
Nov 06 Python
Django实现列表页商品数据返回教程
Apr 03 Python
Python应用实现处理excel数据过程解析
Jun 19 Python
如何在mac下配置python虚拟环境
Jul 06 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 Python
python中scrapy处理项目数据的实例分析
Nov 22 Python
弄清Pytorch显存的分配机制
Dec 10 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
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
php while循环控制的简单实例
2016/05/30 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
用javascript获取textarea中的光标位置
2008/05/06 Javascript
extjs fckeditor集成代码
2009/05/10 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
vue--vuex详解
2019/04/15 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
美国智能家居专家:tink
2019/06/04 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
英语自荐信范文
2013/12/11 职场文书
中式婚礼主持词
2014/03/13 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python
MySQL 字符集 character
2022/05/04 MySQL