yaml文件里body参数里含有bool类型的值,比如{"dataEnhance":false}, 执行后 报 NameError: name 'false' is not defined

问题:yaml文件里body参数里含有bool类型的值,比如{"dataEnhance":false}, 执行后 报 NameError: name 'false' is not defined

脚本:

运行后:

问题 :NameError: name 'false' is not defined


分析问题:

yaml文件存的是字符串类型(str),eval()函数功能是把字符串转成字典格式,但在python当中,字典中的bool值是False,所以,在使用eval(body),无法定义false,报错

解决方案:

1、yaml文件定义:'{"dataEnhance":False}'  满足eval(body),成功转为字典{"dataEnhance":False}

2、再使用json.dumps(body),把字典转为json格式(str),成功转为 {"dataEnhance":false}


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容