前言
本文主要介绍配置文件yaml和ini的读取。
一、yaml文件
YAML是一个可读性高,易于理解,用来表达数据序列化的格式。语法与python的语法类似。文件后缀 .yaml
下面是yaml文件的举例说明:
- 以类似key-value的形式,蓝色字体的是key,绿色字体的是value
- 冒号:的后面要打一个空格,不然识别不到
- value的值如果是字符串,建议加上引号
- 如果value是字典,可以按照下面的两种方式存储
- 如果value是一个列表,需要在前面加上 “-” 或者以列表的形式 [1,2,3] 存储
需要安装第三方库,pip install pyyaml
代码如下:
import yaml def yaml_read(): with open("./read.yaml",encoding="utf8")as f: m = yaml.safe_load(f) return m m = yaml_read() print(m)
读取的结果:
{ 'url': 'www.baidu.com', 'database': {'user': 'root', 'password': '123456'}, 'db2': {'user': 'root', 'password': '123456', 'w': 1111}, 'list1': [1, 2, 3], 'list2': [1, 2, 3] }
二、ini文件
ini文件的后缀名为“.ini”。如下所示为ini文件的举例说明
- 以key-value形式存储,等号前面是Key,等号后面是value
- 所有的value都为字符串
- []中的是分组section,文件中有一个默认的分组default,key是option
文件代码,需要导入python内置的configparser库
import configparser def ini_read(): parser = configparser.ConfigParser() #通过解析器对象读取文件 parser.read("read.ini",encoding="utf8") #获取数据 data=parser.get("db","user") return data data = ini_read() print(data)
ini配置文件的缺点
- 需要频繁通过section和option参数获取值
- 支持的数据类型有限,需要通过类型转换获取相应的数据