python ConfigParser库的使用及遇到的坑

作者:gogoboi_jin 时间:2021-08-13 05:45:23 

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")   #读取配置文件采用绝对路径

来源:https://blog.csdn.net/gogoboi_jin/article/details/72870462

标签:python,ConfigParser
0
投稿

猜你喜欢

  • Python3.x对JSON的一些操作示例

    2022-08-09 00:23:54
  • MySQL中Replace语句用法实例详解

    2024-01-15 03:26:28
  • 多个版本的python共存时使用pip的正确做法

    2021-06-24 10:41:17
  • 教你用Python脚本快速为iOS10生成图标和截屏

    2022-03-04 05:08:28
  • python 爬取哔哩哔哩up主信息和投稿视频

    2021-08-20 03:53:23
  • python开发实时可视化仪表盘的示例

    2022-04-23 15:33:44
  • Python调用adb命令实现对多台设备同时进行reboot的方法

    2022-08-06 02:40:45
  • JS数组Array常用方法汇总+实例

    2024-04-30 10:42:02
  • python双向链表实例详解

    2023-10-28 08:25:09
  • Python Pygame中精灵和碰撞检测详解

    2021-01-31 05:45:27
  • python3.6实现学生信息管理系统

    2021-02-09 20:54:48
  • SQL Server异常代码处理的深入讲解

    2024-01-22 11:42:58
  • 完美解决torch.cuda.is_available()一直返回False的玄学方法

    2023-04-05 18:17:34
  • 带进度条的ASP无组件断点续传大文件下载

    2010-06-25 18:27:00
  • Flask框架学习笔记之表单基础介绍与表单提交方式

    2023-02-05 09:25:44
  • Python利用OpenCV和skimage实现图像边缘检测

    2023-01-27 01:08:43
  • 使用keras实现非线性回归(两种加激活函数的方式)

    2023-07-23 23:33:53
  • Python编写通讯录通过数据库存储实现模糊查询功能

    2024-01-16 06:39:55
  • Python新版极验验证码识别验证码教程详解

    2022-03-07 01:02:55
  • 在Mac OS上安装Go语言编译器的方法

    2024-05-22 17:48:40
  • asp之家 网络编程 m.aspxhome.com