【学习笔记】python3中yaml文件使用

时间:2021-11-28 23:44:08

1.yaml -> 字典:用yaml.load()或yaml.safe_load(YAML字符串或文件句柄),如yaml中有中文,可以使用.encode('utf-8')或打开文件时指定encoding='utf-8'

import yaml
str = '''
name: Susan
age: 18
'''
print(yaml.safe_load(str)) 或 有中文用print(yaml.load(str.encode('utf-8)))

import yaml
with open('demo.yaml', encoding='utf-8') as f:
print(yaml.safe_load(f))

2.yaml.dump(字典):默认为flow流格式,即字典{'a': {'b': 1, 'c': 2}},会被转为a: {b: 3, c: 4}形式,可以使用default_flow_style=False关闭流模式
import yaml
dict = {'name': 'Susan', 'age': 18}
print(yaml.dump(dict)) # 转为字符串,默认使用flow流格式
with open('demo.yaml', 'w', encoding='utf-8') as f:
yaml.dump(dict, f, default_flow_style=False) # 写入文件,不用flow流格式