Python使用ConfigParser读写配置文件详解

Miles
Miles
发布时间:2026-10-12| 3人浏览过
原创

本文介绍如何使用Python内置的ConfigParser模块进行配置文件(如ini格式)的读写操作。通过获取项目根目录、读取指定Section的值以及写入修改后的配置,展示完整的文件路径处理与配置更新流程,适用于需要动态管理应用配置的场景。

配置文件读写基础

在Python开发中,配置文件常用于存储数据库连接、服务端口等环境相关参数。Python标准库提供了configparser模块,专门用于处理类似Windows INI格式的配置文件。该模块支持读取、修改和写入配置项,能够按Section(节)和Option(选项)进行结构化操作。

配置文件示例

假设存在一个名为app.conf的配置文件,其内容结构如下:

[mysql]
host = 1234
port = 3306
user = root
password = Zhsy08241128
database = leartd

读取配置文件

读取配置的核心在于定位文件路径并解析内容。为了保持代码的健壮性,通常建议通过当前脚本的绝对路径来推导配置文件的路径,避免相对路径带来的不确定性。

具体操作步骤如下:

  1. 确定根目录:利用os.path.abspath(__file__)获取当前脚本的绝对路径,再通过os.path.dirname两次调用向上回溯,获取项目根目录。
  2. 拼接路径:将根目录与配置文件相对路径(如/ceshi/conf/app.conf)拼接,得到完整文件路径。
  3. 解析配置:实例化configparser.ConfigParser(),调用.read()方法加载文件。
  4. 获取值:使用.get(section, option)方法获取指定节下的具体配置项。

代码实现如下:

import configparser
import os

conf = configparser.ConfigParser()

def readConf():
    '''读取配置文件'''
    # 获取项目根目录
    root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # 拼接配置文件完整路径
    conf.read(root_path + '/ceshi/conf/app.conf')
    print(conf)
    # 获取指定section的option值
    name = conf.get("mysql", "host")
    print(name)

写入配置文件

修改配置时,需注意configparser的行为机制:它不会自动保存修改,必须显式调用.write()方法将内存中的配置写回磁盘。此外,写入操作会覆盖原文件内容,因此建议先读取现有配置,修改特定项后再写入。

操作步骤如下:

  1. 加载配置:同样通过根目录拼接路径,调用.read()加载当前配置。
  2. 修改项:使用.set(section, option, value)方法更新指定配置项的值。
  3. 保存更改:以写模式('w')打开目标文件,并将该文件对象传递给.write()方法完成保存。

代码实现如下:

def writeConf():
    '''写入配置文件'''
    root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # 先读取现有配置,避免其他项丢失
    conf.read(root_path + '/ceshi/conf/app.conf')
    # 修改指定section的option
    conf.set("mysql", "host", "1234")
    # 将修改后的配置写入文件
    conf.write(open(root_path + '/ceshi/conf/app.conf', 'w'))

注意事项

在使用write()方法时,如果目标文件不存在,Python会自动创建该文件;如果已存在,则会覆盖原内容。因此,在执行写入操作前,建议确认文件路径正确,并备份重要配置,以防误操作导致数据丢失。此外,configparser默认不区分大小写,Section和Option的名称会被转换为小写存储。

以上就是Python实现config文件读写功能的详细内容,更多关于Python配置文件操作及ConfigParser模块的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

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 算法库。