我有一个字符串,表示从db表返回的python字典,例如
{'name': 'John', 'email': 'test@test.com'}
Run Code Online (Sandbox Code Playgroud)
where {'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)
Run Code Online (Sandbox Code Playgroud)
我想要做
dict = DB return value
print_details(dict)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将字符串dict转换为python字典
我正在使用Django但是如果在Django中没有办法,那么Python显然也可以正常工作
小智 6
ast.literal_eval是一个非常有限,更安全的eval,只能证明文字(例如包含字符串,int,float,...文字的dicts,tuple或list literal).
JSON解析器也适用于更受限制的子集(bool是不同的,null而不是None,没有元组,甚至可能更多).同样,标准库可以做到这一点(并且有旧版Python版本的第三方解决方案).
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |