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 15 Python
Python随机数random模块使用指南
Sep 09 Python
Python AES加密实例解析
Jan 18 Python
wxPython实现窗口用图片做背景
Apr 25 Python
python实现狄克斯特拉算法
Jan 17 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 Python
Django Rest framework解析器和渲染器详解
Jul 25 Python
使用python快速实现不同机器间文件夹共享方式
Dec 22 Python
Python统计学一数据的概括性度量详解
Mar 03 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 Python
pytorch 6 batch_train 批训练操作
May 28 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中JSON数据操作
2015/07/01 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
node实现基于token的身份验证
2018/04/09 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
用python编写第一个IDA插件的实例
2018/05/29 Python
python实现dijkstra最短路由算法
2019/01/17 Python
Python常用的json标准库
2019/02/19 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
python 实现图片批量压缩的示例
2020/12/18 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
优秀员工自荐书
2013/12/19 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
投标文件签署授权委托书范本
2014/10/12 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
食堂管理制度范本
2015/08/04 职场文书
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers