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 17 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
对numpy中的transpose和swapaxes函数详解
Aug 02 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
pymysql 开启调试模式的实现
Sep 24 Python
Python单链表原理与实现方法详解
Feb 22 Python
Python文件操作基础流程解析
Mar 19 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
使用python创建生成动态链接库dll的方法
May 09 Python
python基于win32api实现键盘输入
Dec 09 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 Python
Python实现灰色关联分析与结果可视化的详细代码
Mar 25 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
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
2010/03/27 PHP
php设计模式 Delegation(委托模式)
2011/06/26 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
2019/04/28 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
python生成随机mac地址的方法
2015/03/16 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
Python Grid使用和布局详解
2018/06/30 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
详解Pycharm安装及Django安装配置指南
2020/09/15 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
承诺书怎么写
2014/03/26 职场文书
小学课外阅读总结
2014/07/09 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
单位计划生育责任书
2015/05/09 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
校运会广播稿
2015/08/19 职场文书
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js
Hive HQL支持2种查询语句风格
2022/06/25 数据库