数据读取
测试场景
[if !supportLists]· [endif]读取配置中的所有信息
[if !supportLists]· [endif]读取yaml数据表中Tom Smith的姓名、年龄、信息
[if !supportLists]· [endif]单独读取配偶的姓名和年龄信息
[if !supportLists]· [endif]分别读取两个孩子的姓名、年龄信息
load方法
load(stream, Loader=Loader) 解析文件流中的第一个YAML文档并生成相应的Python对象。
代码实现
yaml_load.py
import yaml
file=open('familyInfo.yaml','r')
data=yaml.load(file)
print(data)
print(data['name'])
print(data['age'])
print(data['spouse'])
print(data['spouse']['name'])
print(data['spouse']['age'])
print(data['children'])
print(data['children'][0]['name'])
print(data['children'][0]['age'])
print(data['children'][1]['name'])
print(data['children'][1]['age'])
数据修改
如果想改变某个数据,可以使用如下方法:
data['name']='51zxw'
print(data['name'])
注意:此处只是变量类型的数据变更,不会真正修改到yaml配置表中的数据。
数据转化
方法:dump()可以将Python对象序列化成YAML流。如果stream为None,则返回生成的字符串。
测试场景
将下面python数据类型转化为yaml数据类型
slogan=['welcome','to','51zxw']
website={'url':'www.51zxw.net'}
代码实践
import yaml
slogan=['welcome','to','51zxw']
website={'url':'www.51zxw.net'}
#python data
print(slogan)
print(website)
#yaml data
print(yaml.dump(slogan))
print(yaml.dump(website))
运行结果:
C:\Python35\python.exe E:/AppiumScript/advance/yaml/yaml_down.py
['welcome', 'to', '51zxw']
{'url': 'www.51zxw.net'}
[welcome, to, 51zxw]
{url: www.51zxw.net}
Process finished with exit code 0
网友评论