python的configparser模块用于读写.ini格式配置文件,适合基础配置管理。它支持节(section)和键值对结构,其中default节可被继承;使用configparser实例读取文件,并通过getint()、getboolean()等方法获取特定类型值;写入配置需手动打开文件并调用write()方法;此外,支持变量插值、保留大小写(optionxform=str)及设置fallback避免keyerror,适用于小型项目或脚本工具。
在Python中处理配置文件时,configparser是一个非常实用的模块。它能读取和写入.ini格式的配置文件,结构清晰、使用简单,适合做程序的基础配置管理。
配置文件基本格式
configparser处理的是类似 .ini 文件的内容,这种文件通常由多个“节(section)”组成,每个节下面包含若干键值对:
[DEFAULT] host = localhost port = 5432 [database] user = admin password = secret
上面的例子中,[DEFAULT] 是一个特殊节,它的配置会被其他所有节继承。比如,如果某个节没有定义 host,就会去 DEFAULT 中找。
基本用法:读取配置
要读取配置文件,首先需要创建一个 ConfigParser 实例,然后调用 read() 方法加载文件:
立即学习“Python免费学习笔记(深入)”;
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
print(config['database']['host']) # 输出: localhost
print(config['database']['user']) # 输出: admin需要注意几点:
- 节名和键名是大小写敏感的(默认情况下)
- 所有值都会被当作字符串返回
- 可以用
getint()、getboolean()等方法获取特定类型
例如:
port = config.getint('database', 'port')
is_debug = config.getboolean('DEFAULT', 'debug', fallback=False)写入或修改配置
除了读取,configparser 还可以用来生成或修改配置文件:
config = configparser.ConfigParser()
config['DEFAULT'] = {
'host': 'localhost',
'port': '5432'
}
config['database'] = {}
config['database']['user'] = 'admin'
config['database']['password'] = 'secret'
with open('config.ini', 'w') as f:
config.write(f)这样就生成了一个新的配置文件。注意:
- 添加节的时候要用字典方式赋值或者使用
add_section()方法 - 写入文件时必须手动打开并调用
write() - 不支持注释保存,原有注释会被丢弃
一些容易忽略的细节
-
变量插值
configparser支持变量引用,格式是${section:key}:[paths] home = /home/user log_dir = ${home}/logs在代码中可以直接读取
log_dir,会自动替换为完整路径。 -
区分大小写问题
默认不区分大小写,可以通过设置optionxform=str来保留原始大小写:config = configparser.ConfigParser() config.optionxform = str # 保持键名大小写不变
-
fallback 参数
获取值时推荐使用get()并提供fallback,避免 KeyError:user = config.get('database', 'username', fallback='guest')
基本上就这些。configparser 的功能不算复杂,但很实用,尤其适合小型项目或脚本工具的配置管理。只要注意变量插值、类型转换和大小写这几个点,就能用得很顺手。










