Skip to main content
 首页 » 程序教程

Python常用内置模块之configparser模块

2016年06月15日26310

在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在Python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,一起来看看Python常用内置模块之configparser模块的用法吧。

Python ConfigParser模块解析的配置文件的格式比较像ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项。以下是configparser模块的主要用法:

1.基本的读取配置文件

-read(filename) 直接读取ini文件内容

-sections() 得到所有的section,并以列表的形式返回

-options(section) 得到该section的所有option

-items(section) 得到该section的所有键值对

-get(section,option) 得到section中option的值,返回为string类型

-getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

2.基本的写入配置文件

-add_section(section) 添加一个新的section

-set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件。

关于configparser模块的使用代码示例如下:

#!/usr/bin/env python
# coding:utf-8
import configparser

# 实例化一个configparser对象
cf = configparser.ConfigParser()
cf.read("test.ini", encoding="utf-8")
# 如果section已经存在,会报错
cf.add_section("School")
cf.set("School", "IP", "10.15.40.123")
cf.set("School", "Mask", "255.255.255.0")
cf.set("School", "Gateway", "10.15.40.1")
cf.set("School", "DNS", "211.82.96.1")
# 写入配置文件
cf.write(open("test.ini", "w"))
ip = cf.get("School", "IP")
mask = cf.get("School", "mask")
gateway = cf.get("School", "Gateway")
dns = cf.get("School", "DNS")
# 结果为:('10.15.40.123', '255.255.255.0\n10.15.40.1', '211.82.96.1')
print((ip, mask + "\n" + gateway, dns))

修改后的ini配置文件如下图(源文件已经存在Match项):

QQ截图20160616114458.png

Python读取ini文件还是十分简单的,这里我给出的只是一些简单的使用方法,如果想用更高级的功能,比如和注释有关的功能。可以参考Pyhton官方文档。

评论列表暂无评论
发表评论