Python ConfigParser模块:配置文件读写与增删改操作详解

小石头
小石头
发布时间:2026-10-11| 3人浏览过
原创

本文详细介绍Python标准库ConfigParser模块的使用方法。通过实例演示如何创建、读取、修改和删除INI格式的配置文件,涵盖section与key-value的操作,以及get、getboolean等常用读取方法,帮助开发者高效管理应用配置。

ConfigParser模块基础与配置文件格式

Python中的 configparser 模块用于处理类似于 Windows INI 文件的配置文件。这类配置文件通常由 [section] 定义段落,段落下包含 key=value 形式的配置项。该模块不仅支持读取配置,还允许对配置文件进行写入、修改和删除操作。

创建与写入配置文件

要创建一个配置文件,首先需要实例化 ConfigParser 对象。该对象的行为类似于字典,可以通过指定 section 名称来添加配置项。

import configparser

# 实例化 ConfigParser 对象
config = configparser.ConfigParser()

# 设置 DEFAULT 段(默认配置)
# 注意:DEFAULT 中的键值会被其他所有 section 继承
config["DEFAULT"] = {
    'ServerAliveInterval': '45',
    'Compression': 'yes',
    'CompressionLevel': '9',
    'ForwardX11': 'yes'
}

# 添加特定 section 的配置
config['bitbucket.org'] = {'User': 'Atlan'}
config['topsecret.server.com'] = {
    'Host Port': '50022',
    'ForwardX11': 'no'
}

# 将配置写入文件
with open('example.ini', 'w') as configfile:
    config.write(configfile)

生成的 example.ini 文件内容如下:

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes

[bitbucket.org]
User = Atlan

[topsecret.server.com]
Host Port = 50022
ForwardX11 = no

读取配置文件内容

使用 read() 方法加载配置文件。在读取时,建议指定 encoding 参数(如 'utf-8')以正确处理中文或其他非ASCII字符。

import configparser

config = configparser.ConfigParser()
# 读取配置文件,指定编码
config.read('example.ini', encoding='utf-8')

# 获取所有 section 列表(不包括 DEFAULT)
print(config.sections())  # 输出: ['bitbucket.org', 'topsecret.server.com']

# 检查 section 是否存在
print('bitbucket.org' in config)  # True
print('DEFAULT' in config)        # True (DEFAULT 始终存在)

# 通过类似字典的方式访问具体配置项
print(config['bitbucket.org']['User'])  # 输出: Atlan
print(config['DEFAULT']['Compression']) # 输出: yes

# 遍历特定 section 下的所有 key
for key in config['bitbucket.org']:
    print(key)
# 输出: user, serveraliveinterval, compression, compressionlevel, forwardx11
# 注意:会包含 DEFAULT 中的键

# 获取特定 section 的选项列表(不包含 DEFAULT)
print(config.options('bitbucket.org'))

# 获取特定 section 的所有键值对
print(config.items('bitbucket.org'))

# 使用 get 方法获取值(支持类型转换)
print(config.get('bitbucket.org', 'compression'))       # 输出: yes
print(config.getboolean('bitbucket.org', 'compression')) # 输出: True

修改与删除配置

ConfigParser 支持动态修改配置文件,包括添加、删除 section 或 option,以及修改现有值。修改后需调用 write() 将更改保存回文件或新文件。

import configparser

config = configparser.ConfigParser()
config.read('example.ini', encoding='utf-8')

# 添加新的 section
config.add_section('yuan')

# 删除指定的 section
config.remove_section('bitbucket.org')

# 删除指定 section 下的某个 option
config.remove_option('topsecret.server.com', 'ForwardX11')

# 修改或创建 option 的值
config.set('topsecret.server.com', 'k1', '11111')
config.set('yuan', 'k2', '22222')

# 将修改后的配置写回原文件
with open('example.ini', 'w') as configfile:
    config.write(configfile)

# 或者写入到新文件
with open('new2.ini', 'w') as f:
    config.write(f)

总结

ConfigParser 模块为 Python 应用提供了简洁的配置文件管理方案。通过实例化对象、操作字典式接口以及调用读写方法,开发者可以轻松地创建、读取、修改和删除 INI 格式的配置文件。掌握这些基本操作,有助于提升应用配置的灵活性和可维护性。

以上就是Python ConfigParser模块读写修改配置文件操作的详细内容,更多关于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 算法库。