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之玩转字符串(2)
Sep 14 Python
Python实现从url中提取域名的几种方法
Sep 26 Python
跟老齐学Python之通过Python连接数据库
Oct 28 Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
Django框架模板注入操作示例【变量传递到模板】
Dec 19 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
python之拟合的实现
Jul 19 Python
python标准库sys和OS的函数使用方法与实例详解
Feb 12 Python
Python实现UDP程序通信过程图解
May 15 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
Python实现老照片修复之上色小技巧
Oct 16 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删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
Jquery实现遮罩层的方法
2015/06/08 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
python扫描线填充算法详解
2020/02/19 Python
python实现单机五子棋
2020/08/28 Python
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
最新大学生自我评价
2013/09/24 职场文书
通信工程毕业生自荐信
2013/11/01 职场文书
城市轨道交通工程职业规划书范文
2014/01/18 职场文书
校长先进事迹材料
2014/02/01 职场文书
销售主管岗位职责
2014/02/08 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
双拥工作宣传标语
2014/06/26 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
Python学习之包与模块详解
2022/03/19 Python