标签: python
如何将此字符串从str转换为dict?
s = "{'a':3, 'b':'user's test'}" # as per comment s = decode() a = dict() a = eval(s)
这不对!我无法使用eval()或exec()对其进行转换。字符串中有'个字符。
eval()
exec()
'
答案 0 :(得分:-1)
在这种情况下你不能,而且一般来说都不安全。 eval允许任意代码执行,并且容易出现奇怪的错误和安全问题。
eval
我的建议是使用不同的序列化方法,例如json,它会根据需要自动转义字符串,或pickle,它将Python对象转换为二进制表示。
json
pickle
编辑: 此外,语法错误:字典键/值由:分隔,而不是=。所以它应该是{'a': 3, 'b': 'user\'s test'},'以反斜杠转义。
:
=
{'a': 3, 'b': 'user\'s test'}