错误说明:python中的字典(dict
)的中的值不可以为false
、true
、。否则会报错。
eg:
print({'a':false})
结果:
Traceback (most recent call last):
File "C:\Users\Dream^hao`\Desktop\text.py", line 19, in <module>
print({'a':false})
NameError: name 'false' is not defined
解决方法:所以,我们需要事先把字符串中的false
、true
、null用值替换掉,可以用0
、1
、None
,或者其他你自己想替换的值都可以。
(1)我常用的是在前面加上一个字典:
globals = {
'true': 1,
'false': 0,
'null': None
}
data = "{'a':false, 'b':null}".replace('false', '0')
data = eval(data, globals)
print(type(data))
print(data)
# 结果:
<class 'dict'>
{'a': 0, 'b': None}
(2)采用第一反应想到的repace
替换。
data = "{'a':false}".replace('false', '0')
data = eval(data)
print(type(data), data)
# 结果:
<class 'dict'> {'a': 0}
这样如果含有false
、true
、就需要替换多次!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84756.html