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中的FTP通信模块ftplib的用法整理
Jul 08 Python
python 容器总结整理
Apr 04 Python
django页面跳转问题及注意事项
Jul 18 Python
django url到views参数传递的实例
Jul 19 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
Python笔记之facade模式
Nov 20 Python
Python Tornado核心及相关原理详解
Jun 24 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
Pyecharts 中Geo函数常用参数的用法说明
Feb 01 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文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
jquery使用$(element).is()来判断获取的tagName
2014/08/24 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
Bootstrap table 定制提示语的加载过程
2017/02/20 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
JavaScript实现的搜索及高亮显示功能示例
2017/08/14 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
python正则表达式之对号入座篇
2018/07/24 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
python获取array中指定元素的示例
2019/11/26 Python
关于Python解包知识点总结
2020/05/05 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
小车司机岗位职责
2013/11/25 职场文书
工程建设实施方案
2014/03/14 职场文书
学习十八大的心得体会
2014/09/01 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
经典导游欢迎词
2015/01/26 职场文书
oracle delete误删除表数据后如何恢复
2022/06/28 Oracle