conf.yaml:
name: saggitarxm
gender: nv
language: en
aihao:
- chi
- he
- daban
yaml_test.py
# -*- coding: utf-8 -*-
import yaml
def yaml_load(filename):
"""Read options from a yaml file."""
result = {}
try:
with open(filename, 'r') as fp:
result = yaml.safe_load(fp.read())
except Exception as exc:
print(exc)
return result or {}
if __name__ == "__main__":
conf = yaml_load('./conf.yaml')
print("conf = {} {}".format(type(conf), conf))
name = conf.get('name')
print("name = {} {}".format(type(name), name))
gender = conf.get('gender') # 输出为字符串
print("gender = {} {}".format(type(gender), gender))
aihao = conf.get('aihao') # 输出列表
print("aihao = {} {}".format(type(aihao), aihao))
love = conf.get('love') # 不存在的配置,输出为None
print("love = {} {}".format(type(love), love))
"""
# 重设yaml配置文件(会覆盖原来的配置)
yaml_dump('./conf.yaml', {'love': 'saggitarxzj'})
# 重设yaml配置文件(会覆盖原来的配置),也支持列表类型
# yaml_dump('./conf.yaml', {'love': ['saggitarxzj', 'xuezhangjun']})
love = conf.get('love') # 设置后,输出为:saggitarxzj
print("love = {} {}".format(type(love), love))
"""