Python 配置文件读写实战:ConfigParser 模块详解

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

本文详细介绍 Python 中 ConfigParser 模块的使用方法,涵盖配置文件的创建、读取与动态写入。重点讲解如何正确处理 ANSI 编码以避免报错,并演示 getint、getboolean 等类型转换函数的具体应用。通过完整代码示例,帮助开发者掌握标准格式的配置文件管理技巧。

创建配置文件

一、创建配置文件

在 D 盘根目录下新建一个名为 test.ini 的配置文件。

文件内容应遵循以下格式:


[baseconf]
host=127.0.0.1
port=3306
user=root
password=root
db_name=gloryroad
[test]
ip=127.0.0.1
int=1
float=1.5
bool=True

注意:保存文件时必须选择 ANSI 编码格式,若使用 UTF-8 编码可能会导致程序读取时报错。

文件中的 [baseconf] 部分被称为 section(节)。

读取配置文件

二、读配置文件

import ConfigParser

cf=ConfigParser.ConfigParser()

cf.read(path) 用于读取配置文件(支持 ini、conf 格式),该函数返回一个列表。

cf.sections() 用于获取读取到的所有 sections(域),返回结果为列表类型。

cf.options('sectionname') 用于获取指定域下的所有 key,返回结果为列表类型。

cf.items('sectionname') 用于获取指定域下的所有 key-value 对。

value=cf.get('sectionname','key') 用于获取指定域下 key 对应的 value 值。

cf.type(value) 用于获取 value 值的类型。

类型转换函数详解

(1)getint(section, option)

获取指定 section 中 option 的值,并返回 int 类型数据。因此,该函数仅能用于读取整型值。

(2)getboolean(section, option)

获取指定 section 中 option 的值,并返回布尔类型数据。因此,该函数仅能用于读取布尔型值。

(3)getfloat(section, option)

获取指定 section 中 option 的值,并返回浮点类型数据。因此,该函数仅能用于读取浮点型值。

(4)has_option(section, option)

检测指定 section 下是否存在指定的 option。如果存在则返回 True,否则返回 False。

(5)has_section(section)

检测配置文件中是否存在指定的 section。如果存在则返回 True,否则返回 False。

动态写入配置文件

三、动态写配置文件

cf.add_section('test') 用于添加一个新的域。

cf.set('test3','key12','value12') 用于在指定域下添加一个 key-value 对。

cf.write(open(path,'w')) 写入配置时,文件打开模式必须使用 'w'。

learn to fail, failure to learn

内容扩展:配置文件使用规范

内容扩展:

python 使用配置文件过程

通过配置文件将变量暴露给用户修改。

使用标准库模块 configparser,从而可在配置文件中使用标准格式。

必须使用 [files]、[colors] 等标题将配置文件分成几部分(section)。标题的名称可随意指定,但必须将它们用方括号括起。


$ cat area.ini

[numbers]
pi: 3.1415926535893971

[messages]
greeting: Welcome to the area calutation program!
question: plse enter the radius
result_message: The area is

使用 python 读取他


from configparser import ConfigParser
CONFIGFILE = "area.ini"

config = ConfigParser()
#读取配置文件
config.read(CONFIGFILE)

print(config['messages'].get('greeting'))

radius = float(input(config['messages'].get('question') + ' '))

# 以空格结束以便接着在当前行打印:
print(config['messages'].get('result_message'),end=' ')
print(config['numbers'].getfloat('pi') * radius**2)

到此这篇关于如何写 python 的配置文件的文章就介绍到这了,更多相关 python 写配置文件方法内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

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

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