python ConfigParser库的使用及遇到的坑


Posted in Python onFebruary 12, 2022

ConfigParser库的使用及遇到的坑

背景:这几天想在接口测试中增加logging打印功能,在testerHome正好发现有人分享自己的接口框架,看了之后其中用到ConfigParser,然后自己写了遇到一个坑,写下来用于备注吧。

首先就描述一下坑:

ConfigParser主要就是读写配置文件,文件格式包括.ini,.conf。

我是这么想的在本地新建.text文本格式,把配置书写进去然后修改成.ini或者.conf拖拽进eclispe中,然后read配置文件,一直报错,我一直都以为书写逻辑有问题。

实在没办法就删除配置文件,使用write()去写,然后read发现可以,一直不知道是什么原因。

第一,先介绍write方法

python ConfigParser库的使用及遇到的坑

首先是先实例化ConfigParser()这个类,然后增加section,我把理解一个标签,在这个标签下什么东西,当然可以添加多个标签,如图就是配置文件的截图:

python ConfigParser库的使用及遇到的坑

其中[time]和[place]就是2个不同的标签,其中各个标签下的内容用类似key-value的形式表示,这里就用到set(section,option,value)方法,section对应的就是标签,option对应就是key,value就是key对应的值。如果想多次多次只要多次调用set()方法即可,使用是一个section就可以。

第二:书写成功下面就是read

python ConfigParser库的使用及遇到的坑

同样也是先实例化ConfigParser()这个类,然后调用read(filenames)方法其中参数filenames是.conf的绝对路径(我看别人都只有文件名,我试了一下总是报错,不知道是伪代码还是什么,我还是觉得用绝对路径稳妥一些)。

如果想要读取section(就是我上面说的标签)就是用调用sections()就是把配置文件所有section用列表格式返回,如图:

python ConfigParser库的使用及遇到的坑

读取值就使用options(section),因为是配置文件所以key我觉得不会重复这个取出来还要通过列表去找,没必要增加复杂度

大概就这些吧,当然还有删除一些操作,大家可以查看一下ConfigParser()的源码,或者查看别人博客,有些的很多了,我就不写了,打算这几天吧logging这个模块也加进去看看什么效果,回头有啥坑在写吧。

configparser.NoSectionError: No section: '****'

configparser.NoSectionError: No section: '****'解决办法,Apache无法识别相对路径

问题描述

Python使用configparser读取配置文件main.conf,使用python 文件名.py命令启动程序无报错;若将程序部署到Apache服务器上,则报错错:configparser.NoSectionError: No section: ‘****’

python ConfigParser库的使用及遇到的坑

原因

Apache无法识别相对路径,需填写绝对路径

解决方案

config.read()读取绝对路径

import configparser
import os, sys
parent_dir = os.path.dirname(os.path.abspath(__file__))
config = configparser.ConfigParser()
config.read(parent_dir + "/main.conf")   #读取配置文件采用绝对路径

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现感知器模型、两层神经网络
Dec 19 Python
Django权限机制实现代码详解
Feb 05 Python
python SMTP实现发送带附件电子邮件
May 22 Python
Python logging模块用法示例
Aug 28 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
Django中使用Whoosh进行全文检索的方法
Mar 31 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
Feb 28 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
Jun 03 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
序列化Python对象的方法
Aug 01 Python
Appium+Python实现简单的自动化登录测试的实现
Jan 26 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 Python
Python制作春联的示例代码
Jan 22 #Python
Python制作表白爱心合集
基于Python实现一个春节倒计时脚本
Jan 22 #Python
详解Python如何批量采集京东商品数据流程
Jan 22 #Python
用Python实现屏幕截图详解
Jan 22 #Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 #Python
django中websocket的具体使用
Jan 22 #Python
You might like
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
jQuery 数据缓存模块进化史详细介绍
2012/11/19 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
Python 的描述符 descriptor详解
2016/02/27 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
python实现录制全屏和选择区域录屏功能
2021/02/05 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
一套比较完整的软件测试人员面试题
2012/05/13 面试题
客房主管岗位职责
2013/12/09 职场文书
企业消防安全制度
2014/02/02 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
保护环境倡议书500字
2014/05/19 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android