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
  • 相关阅读:
    Java Web 网络留言板2 JDBC数据源 (连接池技术)
    Java Web 网络留言板3 CommonsDbUtils
    Java Web ConnectionPool (连接池技术)
    Java Web 网络留言板
    Java Web JDBC数据源
    Java Web CommonsUtils (数据库连接方法)
    Servlet 起源
    Hibernate EntityManager
    Hibernate Annotation (Hibernate 注解)
    wpf控件设计时支持(1)
  • 原文地址:https://www.cnblogs.com/tester-study/p/11946789.html
Copyright © 2011-2022 走看看