Skip to main content
 首页 » 编程设计

Python 2.6 如何将此字符串转换为字典

2025年05月04日22kerrycode

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'} 
>>>