📜  YAMLLoadWarning:不推荐在没有 Loader=... 的情况下调用 yaml.load(),因为默认的 Loader 是不安全的.请阅读 https: msg.pyyaml.org load 了解完整详情. - Python (1)

📅  最后修改于: 2023-12-03 15:21:20.177000             🧑  作者: Mango

YAMLLoadWarning:不推荐在没有 Loader=... 的情况下调用 yaml.load()

当我们使用 yaml.load() 函数加载 YAML 文件时,有可能会出现 YAMLLoadWarning 警告。这个警告是为了提醒程序员在使用 yaml.load() 函数的时候需要注意安全性问题。

默认情况下,yaml.load() 函数使用的是不安全的 Loader。如果没有特别指定,就会使用默认的 Loader 进行加载。这个默认的 Loader 可能会存在一些安全性问题,例如可能导致代码注入等问题。

为了避免安全问题,建议在使用 yaml.load() 函数加载文件时,要指定使用安全的 Loader。一般可以使用以下代码:

import yaml
from yaml import Loader

with open('my_file.yaml', 'r') as f:
  data = yaml.load(f, Loader=Loader)

在这里,我们明确指定了使用 yaml.Loader,这样就可以避免使用默认的不安全 Loader 了。

除了这种方式外,还有其他几种方式可以指定 Loader,具体可以参考 PyYAML Documentation

如果您想了解更多关于这个警告的信息,可以访问 PyYAML Warning Messages