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求解水仙花数的方法
May 11 Python
详解Python中的Cookie模块使用
Jul 06 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
python安装pil库方法及代码
Jun 25 Python
Python hashlib模块实例使用详解
Dec 24 Python
python实现坦克大战
Apr 24 Python
Python的信号库Blinker用法详解
Dec 31 Python
Python制作表白爱心合集
Jan 22 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实现将标点符号正则替换为空格的方法
2017/08/09 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
javascript基于定时器实现进度条功能实例
2017/10/13 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
用实例分析Python中method的参数传递过程
2015/04/02 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
Python pip配置国内源的方法
2020/02/14 Python
python基于openpyxl生成excel文件
2020/12/23 Python
什么是Web Service?
2012/07/25 面试题
经典的毕业生自荐信范文
2014/04/14 职场文书
学习雷锋标语
2014/06/25 职场文书
投资意向书
2014/07/30 职场文书
政法干警核心价值观心得体会
2014/09/11 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
上课迟到检讨书
2015/05/06 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
MySQL索引失效的典型案例
2021/06/05 MySQL
用Python生成会跳舞的美女
2022/01/18 Python
Win11快速关闭所有广告推荐
2022/04/19 数码科技