Python里configparser用法 配置文件解析模块configparser实战

python的configparser模块用于读写.ini格式配置文件,适合基础配置管理。它支持节(section)和键值对结构,其中default节可被继承;使用configparser实例读取文件,并通过getint()、getboolean()等方法获取特定类型值;写入配置需手动打开文件并调用write()方法;此外,支持变量插值、保留大小写(optionxform=str)及设置fallback避免keyerror,适用于小型项目或脚本工具

在Python中处理配置文件时,configparser是一个非常实用的模块。它能读取和写入.ini格式的配置文件,结构清晰、使用简单,适合做程序的基础配置管理。

配置文件基本格式

configparser处理的是类似 .ini 文件的内容,这种文件通常由多个“节(section)”组成,每个节下面包含若干键值对:

[DEFAULT]host = localhostport = 5432[database]user = adminpassword = secret

上面的例子中,[DEFAULT] 是一个特殊节,它的配置会被其他所有节继承。比如,如果某个节没有定义 host,就会去 DEFAULT 中找。

基本用法:读取配置

要读取配置文件,首先需要创建一个 ConfigParser 实例,然后调用 read() 方法加载文件:

立即学习“Python免费学习笔记(深入)”;

import configparserconfig = configparser.ConfigParser()config.read('config.ini')print(config['database']['host'])  # 输出: localhostprint(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/userlog_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 的功能不算复杂,但很实用,尤其适合小型项目或脚本工具的配置管理。只要注意变量插值、类型转换和大小写这几个点,就能用得很顺手。

以上就是Python里configparser用法 配置文件解析模块configparser实战的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1362444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 01:48:42
下一篇 2025年12月14日 01:48:53

相关推荐

发表回复

登录后才能评论
关注微信