今天用之前的代码写新项目,运行代码报错:YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe.git
去瞅了一眼,发现yaml.load(input)弃用了,随后发现,5.1以后的须要加一个加载器才能够正常运行,针对该变化,做了如下比较github
yaml 5.1以前的使用方法:安全
1 def operateYaml(self,filename): 2 file = open(filename, "r",encoding='utf-8') 3 data = yaml.load(file) 4 file.close() 5 return data
yaml 5.1以后的使用方式有两种:spa
1 def operateYaml(self,filename): 2 file = open(filename, "r",encoding='utf-8') 3 data = yaml.load(file,Loader=yaml.FullLoader) #loader可选择BaseLoader、SafeLoader、FullLoader、UnsafeLoader 4 file.close() 5 return data
1 def operateYaml(self,filename): 2 file = open(filename, "r",encoding='utf-8') 3 data = yaml.full_load(file) #可以使用3种不一样的加载方式:yaml.full_load、yaml.unsafe_load
4 file.close()
5 return datayaml.safe_load、
针对不一样的须要,加载器有以下几种类型:code
yaml.load(input)
(发出警告后)(full_load)Loader
向后兼容性):原始的Loader代码,能够经过不受信任的数据输入轻松利用。(unsafe_load) 详情请查看——https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation#footnotesblog