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操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
python根据文件大小打log日志
Oct 09 Python
OpenCV实现人脸识别
Apr 07 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
python Crypto模块的安装与使用方法
Dec 21 Python
Python遍历numpy数组的实例
Apr 04 Python
python之文件读取一行一行的方法
Jul 12 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
Python竟然能剪辑视频
May 25 Python
Python 实现定积分与二重定积分的操作
May 26 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
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
javaScript call 函数的用法说明
2010/04/09 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
[01:11]辉夜杯战队访谈宣传片—CDEC.Y
2015/12/26 DOTA
在python的类中动态添加属性与生成对象
2016/09/17 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
pandas 选择某几列的方法
2018/07/03 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
Shell脚本如何向终端输出信息
2014/04/25 面试题
商务日语毕业生自荐信
2013/11/23 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
先进工作者事迹材料
2014/12/23 职场文书
2015年教务工作总结
2015/05/23 职场文书