我有一个字符串代表从数据库表返回的 python 字典,例如
{'name': 'John', 'email': 'test@test.com'}
其中 {'name': 'John', 'email': 'test@test.com'}
作为字符串从数据库返回
然后我有一个函数接收字典作为 **kwargs 例如
def print_details(*args, **kwargs):
name = kwargs.pop('name', None)
email = kwargs.pop('email', None)
print "%s - %s " % (name, email)
我想做
dict = DB return value
print_details(dict)
但我不知道如何将字符串字典转换成python字典
我正在使用 Django,但如果 Django 没有办法,那么 Python 显然也可以工作
最佳答案
ast.literal_eval
是一个非常受限制的、更安全的 eval
,它只评估文字(例如,包含字符串、整数、 float 、……文字的字典、元组或列表文字)。
JSON 解析器也适用于更受限制的子集( bool 值不同,null
而不是 None
,没有元组,甚至更多)。同样,the standard library can do this (并且有针对旧 Python 版本的第三方解决方案)。
关于python - django/python 将表示 python 字典的字符串转换为字典对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5028168/