zoukankan      html  css  js  c++  java
  • 解决:YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe.

    使用PyYAML解析yaml文件时,报错:

    fs = open(r"E:virtual_workshopAPP_AutoTestcapscaps.yml")
    caps_data = yaml.load(fs)
    print(caps_data)
    
    
    #运行结果
    D:programPython37python.exe E:/virtual_workshop/APP_AutoTest/common/base_driver.py
    [{'platformName': 'Android', 'platformVersion': '5.1.1', 'deviceName': 'Android Emulato', 'appPackage': 'com.xxzb.fenwoo', 'appActivity': 'com.xxzb.fenwoo.activity.addition.WelcomeActivity'}, {'server_ip': '127.0.0.1', 'server_port': 4723}]
    E:/virtual_workshop/APP_AutoTest/common/base_driver.py:8: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
      caps_data = yaml.load(fs)
    
    Process finished with exit code 0

    原因:YAML 5.1版本后弃用了yaml.load(file)这个用法,因为觉得很不安全,5.1版本之后就修改了需要指定Loader,通过默认加载​​器(FullLoader)禁止执行任意函数,该load函数也变得更加安全

    解决办法:

    caps_data = yaml.load(fs, Loader=yaml.FullLoader)
  • 相关阅读:
    自己回答自己的问题
    作业5 四则运算 测试与封装 5.1 5.2
    2015430 加法阶段一的封装测试
    20150423 提问2
    Java 泛型中的<? super T>和<? extends T>
    ssh 查看端口占用
    Java 回调
    SpringMVC4+MyBaits3配置
    Selenium 远程执行和监听类
    Intellij idea主题
  • 原文地址:https://www.cnblogs.com/my_captain/p/12718308.html
Copyright © 2011-2022 走看看