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 读写XML文件的实例
Aug 02 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
python实现贪吃蛇小游戏
Mar 21 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
python实现知乎高颜值图片爬取
Aug 12 Python
使用Django搭建web服务器的例子(最最正确的方式)
Aug 29 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
PyTorch中topk函数的用法详解
Jan 02 Python
python函数定义和调用过程详解
Feb 09 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
python如何快速拼接字符串
Oct 28 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的session数据存储到数据库中的代码实例
2016/06/24 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
php use和include区别总结
2019/10/13 PHP
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
js中有关IE版本检测
2012/01/04 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
express+vue+mongodb+session 实现注册登录功能
2018/12/06 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
es6中let和const的使用方法详解
2020/02/24 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
sklearn的predict_proba使用说明
2020/06/28 Python
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
软件缺陷的分类都有哪些
2014/08/22 面试题
社区平安建设汇报材料
2014/08/14 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技