zoukankan      html  css  js  c++  java
  • 执行yaml.load()出现警告信息:YAMLLoadWarning: callingyaml.load() without Loader=..

    执行yaml.load()出现警告信息:YAMLLoadWarning: callingyaml.load() without Loader=...

    原因:

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

    解决方案:

    通过下面两种方式处理:

    1、yaml.load(a, Loader=yaml.FullLoader)
    2、yaml.warnings({'YAMLLoadWarning': False})# 全局设置警告,不建议使用

    通过查找官方网站得知:

    Loader的几种加载方式:

    BaseLoader--仅加载最基本的YAML。

    SafeLoader--安全地加载YAML语言的子集。建议用于加载不受信任的输入。

    FullLoader--加载完整的YAML语言。避免任意代码执行。这是当前(PyYAML 5.1)默认加载器调yaml.load(input)(发出警告后)。

    UnsafeLoader--(也称为Loader向后兼容性)原始的Loader代码,可以通过不受信任的数据输入轻松利用。

    想进一步了解相关信息,可参看官方介绍:

    https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation

    《接口测试自动化实战》 https://yuedu.baidu.com/ebook/aaf72f1b42323968011ca300a6c30c225901f07d 《python+appium自动化项目实战》 https://yuedu.baidu.com/ebook/765b38a5690203d8ce2f0066f5335a8102d266b9[/b]6f5335a8102d266b9
  • 相关阅读:
    Shell中的特殊变量和结构
    自由的Debian
    关于系统定制的一些链接
    超出两行显示省略号
    json转换
    区分LocalStorage和偏好数据
    去除谷歌浏览器中的默认文本框样式
    js访问xml
    js执行跨域请求
    mvc通过controller创建交互接口
  • 原文地址:https://www.cnblogs.com/tester-study/p/11946789.html
Copyright © 2011-2022 走看看