str = "{ u'source_ip', u'127.0.0.1'}, { u'db_ip', u'43.53.696.23'}, { u'db_port', u'3306'}, { u'user_name', u'uz,ifls'} "
如何将此字符串转换为字典?
"source_ip":"127.0.0.1","db_ip":"43.53.696.23","db_port":"3306"
我试过了
str = dict(str)
但是没有成功
最佳答案
那些片段看起来像 python 集合。如果您通过 ast.literal_eval
运行它们,您会得到一些接近的东西,但由于集合没有排序,您不能保证这两个项目中的哪一个是键,哪个是值。这完全是一个 hack,但我用括号替换了大括号,这样它们看起来更像元组,并从那里制作了字典。
>>> mystr = "{ u'source_ip', u'127.0.0.1'}, { u'db_ip', u'43.53.696.23'}, { u'db_port', u'3306'}, { u'user_name', u'uz,ifls'} "
>>> mystr = mystr.replace('{', '(').replace('}', ')')
>>> import ast
>>> mydict = dict(ast.literal_eval(mystr))
>>> mydict
{u'user_name': u'uz,ifls', u'db_port': u'3306', u'source_ip': u'127.0.0.1', u'db_ip': u'43.53.696.23'}
>>>
关于Python 2.6 如何将此字符串转换为字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40925541/