Python ConfigParser模块详解:配置文件读取与操作指南

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

本文详细介绍Python标准库ConfigParser模块的使用方法,涵盖配置文件格式规范、基础读取操作、类型转换获取、增删改查功能及保存机制。通过实例演示如何高效管理项目中的IP、端口等动态参数,实现配置与代码分离,提升开发维护效率。

ConfigParser模块简介与导入

在软件开发过程中,经常需要配置各种IP地址、端口号等参数。如果将这些信息硬编码在源代码中,每次修改都需要重启项目并重新加载配置,操作繁琐且容易出错。因此,最佳实践是将可变参数提取到独立的配置文件或数据库中,只需修改配置文件即可生效,无需改动代码。Python标准库提供了ConfigParser模块(Python 3中为configparser),用于读取和操作配置文件。在程序开头导入该模块时,需注意Python 2与Python 3之间的命名差异,Python 3对模块名进行了规范化调整。

import ConfigParser #python 2.x import configparser #python 3.x

配置文件格式规范

配置文件的格式规范

  • 配置文件由一个或多个section(节)组成,每个section包含若干option(选项);
  • section通过[sect_name]的形式标识,每个option表现为键值对,使用分隔符=或:进行分隔;
  • option分隔符两侧的空格会被自动忽略;
  • 配置文件使用#和;符号进行注释。

一个简单的配置文件样例 config.conf


# database source
[db]   # 对应的是一个section
host = 127.0.0.1  # 对应的是一个option键值对形式
port = 3306
user = root
pass = root
 
# ssh
[ssh]
host = 192.168.10.111
user = sean
pass = sean

ConfigParser基本操作与示例

ConfigParser的基本操作流程

首先实例化ConfigParser对象并加载配置文件。

cp = ConfigParser.SafeConfigParser() cp.read('config.conf')

获取section列表、option键列表以及option键值元组列表。

print('all sections:', cp.sections()) # sections: ['db', 'ssh'] print('options of [db]:', cp.options('db')) # options of [db]: ['host', 'port', 'user', 'pass'] print('items of [ssh]:', cp.items('ssh')) # items of [ssh]: [('host', '192.168.10.111'), ('user', 'sean'), ('pass', 'sean')]

读取指定的配置信息。

print('host of db:', cp.get('db', 'host')) # host of db: 127.0.0.1 print('host of ssh:', cp.get('ssh', 'host')) # host of ssh: 192.168.10.111

按类型读取配置信息:使用getint、getfloat和getboolean方法分别获取整数、浮点数和布尔值。

print(type(cp.getint('db', 'port'))) # <type 'int'>

判断option是否存在。

print(cp.has_option('db', 'host')) # True  

设置option的值。

cp.set('db', 'host','192.168.10.222')

删除指定的option。

cp.remove_option('db', 'host')

判断section是否存在。

print(cp.has_section('db')) # True

添加新的section。

cp.add_section('new_sect')

删除指定的section。

cp.remove_section('db')

保存配置:set、remove_option、add_section和remove_section等方法仅修改ConfigParser对象内部状态,不会直接写入文件。需调用write方法将配置内容输出到文件中。

cp.write(open('config.conf', 'w')) cp.write(sys.stdout)

以上介绍了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 算法库。