第一个问题
报错
yaml.composer.ComposerError: expected a single document in the stream
原因:yaml文档中用---分割,有多个文档,而读取的时候用了yaml.load()方法
【解决方案一】
将yaml.load()方法改成yaml.loadall()
datas = yaml.load_all(file_data, Loader=yaml.FullLoader)
print(datas)
print(type(datas))
注意:输出最后生成的datas和data的类型是:
<generator object load_all at 0x0000017829B079C8>
<class 'generator'>
【解决方案二】
将文档中的---去掉,变成document1
datas = yaml.load_all(file_data, Loader=yaml.FullLoader)
print(datas)
print(type(datas))
最后输出的:datas是字典 dict
第二个问题:
报错
YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe
【解决方案一】
将yaml.load()方法改成yaml.loadall()
【解决方案二】
load后面加上参数Loader=yaml.FullLoader
datas = yaml.load(file_data, Loader=yaml.FullLoader)
网友评论