美文网首页
python读取yaml文件yaml.composer.Comp

python读取yaml文件yaml.composer.Comp

作者: _karen | 来源:发表于2020-09-29 15:25 被阅读0次

    第一个问题

    报错

    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)

    相关文章

      网友评论

          本文标题:python读取yaml文件yaml.composer.Comp

          本文链接:https://www.haomeiwen.com/subject/oleeuktx.html