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使用os模块的os.walk遍历文件夹示例
Jan 27 Python
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Python装饰器使用实例:验证参数合法性
Jun 24 Python
python中的json总结
Oct 11 Python
pycharm 取消默认的右击运行unittest的方法
Nov 29 Python
Python 获取div标签中的文字实例
Dec 20 Python
用Python解数独的方法示例
Oct 24 Python
python随机生成库faker库api实例详解
Nov 28 Python
Python实现图像的垂直投影示例
Jan 17 Python
Python bytes string相互转换过程解析
Mar 05 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 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
星际争霸兵种名称对照表
2020/03/04 星际争霸
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
php Session无效分析资料整理
2016/11/29 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
Vue组件开发初探
2017/02/14 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
js读取本地文件的实例
2017/12/22 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
如何理解Python中的变量
2020/06/01 Python
python使用建议与技巧分享(二)
2020/08/17 Python
python Paramiko使用示例
2020/09/21 Python
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
2014年小学植树节活动方案
2014/03/02 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
给客户的感谢信
2015/01/21 职场文书
离婚协议书范文
2015/01/26 职场文书
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python