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 15 Python
python使用三角迭代计算圆周率PI的方法
Mar 20 Python
浅谈python中的实例方法、类方法和静态方法
Feb 17 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 Python
Python列表和元组的定义与使用操作示例
Jul 26 Python
django 2.0更新的10条注意事项总结
Jan 05 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
Django实现celery定时任务过程解析
Apr 21 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
Sep 03 Python
python3代码输出嵌套式对象实例详解
Dec 03 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模拟http请求的方法详解
2016/11/09 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
原生Javascript插件开发实践
2017/01/18 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
微信小程序使用车牌号输入法的示例代码
2019/08/20 Javascript
vue3.0 上手体验
2020/09/21 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
django中send_mail功能实现详解
2018/02/06 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
中国跨境电商:Tomtop
2017/03/16 全球购物
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
什么是数据抽象
2016/11/26 面试题
优秀学生干部个人的自我评价
2013/10/04 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
廉洁校园实施方案
2014/05/25 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
见习报告格式要求
2014/11/04 职场文书
男方婚前保证书
2015/02/28 职场文书
财政局个人年终总结
2015/03/03 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
话题作文之成长
2019/12/09 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS