一、什么是配置文件?
- 配置文件指的是在一个项目当中,对一个文件进行配置(设置)的一些数据。这些数据在项目的运行过程中一般不会变化
- 对于不同的项目,不同的环境可能需要变化
- 配置文件后缀:ini 、conf 、 cfg 、 yaml
配置文件示例
#配置文件示例
[mysql]
default-character-set=utf8
[mysqld]
port = 3306
basedir = c:\mysql-5.7.25-winx64\mysql-5.7.25-winx64
datadir = c:\mysql-5.7.25-winx64\mysql-5.7.25-winx64\data
max_connections = 200
character-set-server = utf8
default-storage-engine = INNODB
explicit_defaults_for_timestamp = true
二、为什么要做配置文件?
- 将所有的代码和配置都变成模块化可配置化,这样就提高了代码的重用性,不用每次都去修改代码内部,这个就我们逐步要做的事情,可配置化。
场景举例:
- 多处地方需要用同一个参数,这个时候最好是配置化,这样改动一处就可以了
- 如果是经常会变化的常量,我们也可以做这个配置化 - - -> 与参数化要区分开
python中参加的配置文件格式
- .ini
- .conf
- .yaml
- .cfg
配置文件对象
- section
- option
三、ConfigParse模块
掌握一些比较基础得用法:跟file一样,要先打开才能进行读取操作
- 实例化ConfigParse对象:
cf = configparse.ConfigParser()
- 打开配置文件:
cf.read(配置文件的名称or地址)
常用方法
- read(filename)直接读取文件内容
- sections()得到所有的section,并以列表的形式返回
- options(section)得到该section的所有option
- items(section)得到该section所有的键值对
- get(section,option)得到section中option的值,返回为string模型
- getint(section,option)得到section中option的值,返回为int模型,还有相应的getboolean()和getfloat()函数
三、yaml文件解析
yaml文件格式
env:
url:http://www.baidu.com
log:
level:DEBUG
fh_level:ERROR
sh_level:DEBUG
filename:all.log
mysql:
host:127.0.0.1
port:3306
user:root
password:lemonban
文件读取:yaml.load
- 一个yaml文件加载出来为一个字典对象,读取出来是字典:
with open("data.yaml","r") as f:
x = yaml.load(f,Loader=yaml.FullLoader)
print(x)