一. 什么是配置文件?为什么要做配置文件?
将所有的代码和配置都变成模块化可配置化,这样就提高了代码的重用性,不再每次都去修改代码内部,这个就是我们逐步要做的事情,可配置化
二. python中的ConfigParser类
模块:from configparser import ConfigParser
configparser是Python自带的模块,用法如下:
1. 创建ConfigParser对象。并调用read()函数打开配置文件,里面填的参数是地址
2. 配置文件的格式是:[]包含的叫section,section下有option=value这样的键值
3. 常用配置函数如下
sections() 得到所有的section,并以列表的形式返回
options(section) 得到该section的所有option (key值)
items(section) 得到该section的所有键值对
get(section, option) 得到section中option的值,返回为string类型,指定标签下面的key对应的value值
getint(section, option) 得到section中的option值,返回为int类型
add_section() 往配置文件中添加section
set(section, name, value) 在section下设置name=value
with open(configfile) as cfile:
write(cfile)
将新增的配置信息写入到文件中
三. 实例
1. 在lesson_config包下创建一个配置文件db.cfg和一个py文件config_operate.py
2. db.cfg的内容为
[mysql_db_test] host=localhost port=3306 db=mysql user=root passwd=123456
3. config_operate.py的内容为
from configparser import ConfigParser #初始化类 cp = ConfigParser() cp.read("db.cfg") #得到所有的section,以列表的形式返回 section = cp.sections()[0] print(section) #得到该section的所有option print(cp.options(section)) #得到该section的所有键值对 print(cp.items(section)) #得到该section中的option的值,返回为string类型 print(cp.get(section, "db")) #得到该section中的option的值,返回为int类型 print(cp.getint(section, "port"))
运行结果
mysql_db_test ['host', 'port', 'db', 'user', 'passwd'] [(')] mysql 3306