读写yaml文件

yaml文件的load()和dump()

yaml.dump()  写入数据

import yaml
from config.path import config_path
import os


yaml_dict = {'person':{
       "user_name":"张三",
       "birthday":"2021-3-10",
       "address":"苏州"
}}
with open(os.path.join(config_path, 'config.yaml'), 'w', encoding='utf-8') as f:
    yaml.dump(yaml_dict, f, allow_unicode=True)

执行结果

 

 写入的字典中有汉字,要在后面加上:allow_unicode=True

yaml文件冒号前面有空格

 

yaml.load()读取数据

 

import yaml
from config.path import config_path
import os


with open(os.path.join(config_path, 'config.yaml'), 'r', encoding='utf-8') as f:
    data = yaml.load(f, Loader=yaml.FullLoader)
    print(data)

 

执行结果

 

 如有中文需加上encoding='utf-8'

在load时必须加上Loader参数,否则会报错:

BaseLoader 载入大部分的基础YAML
SafeLoader 载入YAML的子集,推荐在不可信的输入时使用
FullLoader 这是默认的载入方式,载入全部YAML
UnsafeLoader 老版本的载入方式

 

posted @ 2021-03-10 14:21  xifang  阅读(153)  评论(0)    收藏  举报