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来使用七牛云存储的方法详解
Aug 07 Python
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
python爬虫框架talonspider简单介绍
Jun 09 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 Python
Python构建图像分类识别器的方法
Jan 12 Python
python实现感知器算法(批处理)
Jan 18 Python
pytorch自定义初始化权重的方法
Aug 17 Python
浅析PEP572: 海象运算符
Oct 15 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 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
大师制作的中短波矿石收音机
2020/04/02 无线电
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
php日期操作技巧小结
2016/06/25 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
Js callBack 返回前一页的js方法
2008/11/30 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
子页向父页传值示例
2013/11/27 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
JavaScript中transform实现数字翻页效果
2017/03/08 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
[08:40]Navi Vs Newbee
2018/06/07 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
python实现TF-IDF算法解析
2018/01/02 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
python mock测试的示例
2020/10/19 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
美国汽配连锁巨头Pep Boys官网:轮胎更换、汽车维修服务和汽车零部件
2017/01/14 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
python处理json数据文件
2022/04/11 Python