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打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
浅谈python对象数据的读写权限
Sep 12 Python
Python制作钉钉加密/解密工具
Dec 07 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
Python中常用的高阶函数实例详解
Feb 21 Python
Python selenium模拟手动操作实现无人值守刷积分功能
May 13 Python
python与idea的集成的实现
Nov 20 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
Python爬虫之爬取最新更新的小说网站
May 06 Python
python四种出行路线规划的实现
Jun 23 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抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
如何打开php的gd2库
2017/02/09 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
return false;和e.preventDefault();的区别
2010/07/11 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
Underscore源码分析
2015/12/30 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
ES2020系列之空值合并运算符 '??'
2020/07/22 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
Python3 合并二叉树的实现
2019/09/30 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
夜大毕业生自我鉴定
2013/10/31 职场文书
会计专业自荐信范文
2013/12/02 职场文书
学生手册评语
2014/05/05 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
股指期货心得体会
2014/09/10 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
综合实践活动报告
2015/02/05 职场文书
化工厂员工工作总结
2015/10/15 职场文书
《自己的花是让别人看的》教学反思
2016/02/19 职场文书
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技