错误说明: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
、就需要替换多次!