天天看點

yaml報錯:YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader

報錯如下:YAMLLoadWarning: calling yaml.load() without Loader=… is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.

data = yaml.load(file)

YAML 5.1版本後棄用了yaml.load(file)這個用法,因為覺得很不安全,5.1版本之後就修改了需要指定Loader,通過預設加載​​器(FullLoader)禁止執行任意函數,該load函數也變得更加安全

示例如下:

yaml.load(input, Loader=yaml.FullLoader)

還有其他幾種Loader,詳情可以參考:

Github原文位址:https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation#footnotes

修改後無報錯提示:

yaml報錯:YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader