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 相关文章推荐
解决python3 urllib中urlopen报错的问题
Mar 25 Python
Python贪吃蛇游戏编写代码
Oct 26 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
PyQt5每天必学之日历控件QCalendarWidget
Apr 19 Python
Python采集代理ip并判断是否可用和定时更新的方法
May 07 Python
Python检测网络延迟的代码
May 15 Python
基于windows下pip安装python模块时报错总结
Jun 12 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
浅析python继承与多重继承
Sep 13 Python
python 对key为时间的dict排序方法
Oct 17 Python
python对csv文件追加写入列的方法
Aug 01 Python
Python实现AI换脸功能
Apr 10 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python中进程和线程的区别详解
2017/10/29 Python
Python 函数基础知识汇总
2018/03/09 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
pygame实现成语填空游戏
2019/10/29 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
深入理解Python 多线程
2020/06/16 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
高中毕业生的个人自我评价
2014/02/21 职场文书
鉴定评语大全
2014/05/05 职场文书
汽车广告策划方案
2014/05/31 职场文书
五四青年节的活动方案
2014/08/20 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
创业计划书之物流运送
2019/09/17 职场文书
创业计划书之网吧
2019/10/10 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
Python字符串常规操作小结
2022/04/03 Python
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
HDFS免重启挂载新磁盘
2022/04/06 Servers