Python ConfigParser库使用指南及Apache部署路径错误排查

Ryan
Ryan
发布时间:2026-10-16| 6人浏览过
原创

本文详细讲解Python ConfigParser库的基本用法,包括write和read方法的操作流程。重点分析了在Apache服务器环境下因相对路径识别问题导致的NoSectionError错误,并提供使用绝对路径读取配置文件的解决方案,帮助开发者避免常见配置读取陷阱。

Python ConfigParser库使用指南及Apache部署路径错误排查

背景:近期在接口测试项目中希望集成logging日志打印功能,在testerHome社区浏览接口框架分享时,注意到有人使用了ConfigParser库。在自行实践过程中遇到了一些问题,特此记录以便后续参考。

首先描述遇到的具体问题:

ConfigParser库主要用于读写配置文件,支持.ini和.conf格式的文件。

我的初始思路是在本地新建.text文本文件,写入配置内容后将其后缀修改为.ini或.conf,再拖入Eclipse中调用read方法读取。但一直报错,我起初误以为是书写逻辑有误。

尝试多次无果后,我删除了手动创建的配置文件,改用write()方法生成文件,再调用read()读取,发现可以成功。当时并未查明具体原因。

第一,先介绍write方法

首先需要实例化ConfigParser类,然后增加section(即标签/区块)。一个section下可以包含多项配置,也可以添加多个section。如图所示为配置文件的截图:

其中[time]和[place]是两个不同的section标签,各标签下的内容以key-value形式表示。这里使用set(section, option, value)方法,section对应标签名,option对应key,value对应具体值。若需多次添加,只需多次调用set()方法即可,所有操作可在同一个section内完成。

第二:书写成功接下来是read

同样先实例化ConfigParser类,然后调用read(filenames)方法。其中参数filenames应为.conf文件的绝对路径(我看到他人示例中只写文件名,但我测试时总是报错,不确定是伪代码还是其他原因,因此建议使用绝对路径以确保稳妥)。

如果想要读取section(即上述标签),可以调用sections()方法,该方法会将配置文件中所有section以列表格式返回,如图所示:

读取具体值时可使用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: ‘****’

原因

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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。