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中处理时间之clock()方法的使用
May 22 Python
Golang与python线程详解及简单实例
Apr 27 Python
Python栈算法的实现与简单应用示例
Nov 01 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
python中的tcp示例详解
Dec 09 Python
详解Python学习之安装pandas
Apr 16 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
python生成任意频率正弦波方式
Feb 25 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
浅谈怎么给Python添加类型标注
Jun 08 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
python re模块findall()函数实例解析
2018/01/19 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
新学期开学寄语
2014/01/18 职场文书
大学毕业感言100字
2014/02/03 职场文书
会计专业求职信范文
2014/03/16 职场文书
三年级小学生评语
2014/04/22 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
小学英语复习计划
2015/01/19 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js