解决:YAMLLoadWarning: calling yaml.load() without Loader=... is deprecat(解决好谁来扶的问题,坚持)

网友投稿 371 2022-08-26


解决:YAMLLoadWarning: calling yaml.load() without Loader=... is deprecat(解决好谁来扶的问题,坚持)

使用PyYAML解析yaml文件时,报错:

fs = open(r"E:\virtual_workshop\APP_AutoTest\caps\caps.yml")caps_data = yaml.load(fs)print(caps_data)#运行结果D:\program\Python37\python.exe E:/virtual_workshop/APP_AutoTest/common/base_driver.py[{'platformName': 'Android', 'platformVersion': '5.1.1', 'deviceName': 'Android Emulato', 'appPackage': 'com.xxzb.fenwoo', 'appActivity': 'com.xxzb.fenwoo.activity.addition.WelcomeActivity'}, {'server_ip': '127.0.0.1', 'server_port': 4723}]E:/virtual_workshop/APP_AutoTest/common/base_driver.py:8: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read for full details. caps_data = yaml.load(fs)Process finished with exit code 0

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

解决办法:

caps_data = yaml.load(fs, Loader=yaml.FullLoader)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:appium自动化测试(五)
下一篇:java中CopyOnWriteArrayList源码解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~