Python 配置文件读写实战:ConfigParser 模块详解
本文详细介绍 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 写配置文件方法内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













