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中的算数运算符的用法
May 13 Python
python增加矩阵维度的实例讲解
Apr 04 Python
python实现Excel文件转换为TXT文件
Apr 28 Python
使用PYTHON解析Wireshark的PCAP文件方法
Jul 23 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
在vscode中配置python环境过程解析
Sep 28 Python
python sklearn常用分类算法模型的调用
Oct 16 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
python [:3] 实现提取数组中的数
Nov 27 Python
python安装后的目录在哪里
Jun 21 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
Python中相见恨晚的技巧
Apr 13 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
简单采集了yahoo的一些数据
2007/02/14 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
windows中为php安装mongodb与memcache
2015/01/06 PHP
javascript 保存文件到本地实现方法
2012/11/29 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
使用python实现kNN分类算法
2019/10/16 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
基于Python实现天天酷跑功能
2021/01/06 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
学生个人的自我评价分享
2013/11/05 职场文书
经理职责范文
2013/11/08 职场文书
《雷雨》教学反思
2014/02/20 职场文书
小学五年级学生评语
2014/04/22 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
实习感想范文
2015/08/10 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
Feign调用传输文件异常的解决
2021/06/24 Java/Android
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python