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检测网页是否有日常链接
Jun 03 Python
Python利用ansible分发处理任务
Aug 04 Python
python实现多线程抓取知乎用户
Dec 12 Python
Python实现句子翻译功能
Nov 14 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
Python3 pandas 操作列表实例详解
Sep 23 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
python如何爬取网页中的文字
Jul 28 Python
如何在python中判断变量的类型
Jul 29 Python
python绘图模块之利用turtle画图
Feb 12 Python
python中os.path.join()函数实例用法
May 26 Python
Python中第三方库Faker的使用详解
Apr 02 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 header示例代码(推荐)
2010/09/08 PHP
PHP简洁函数小结
2011/08/12 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
jquery tools之tabs 选项卡/页签
2009/07/25 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
2018/11/07 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
Element Notification通知的实现示例
2020/07/27 Javascript
python实现BackPropagation算法
2017/12/14 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
Python如何用wx模块创建文本编辑器
2020/06/07 Python
python推导式的使用方法实例
2021/02/28 Python
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
一套Delphi的笔试题二
2013/05/11 面试题
庆八一活动方案
2014/01/25 职场文书
食品安全责任书
2014/04/15 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书