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

标签 python string python-2.6

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/

相关文章:

python - 获取 IOError : [Errno 21] Is a directory error when trying to run PyInstaller

python - 使用按钮和回调方法退出Python程序

string - 为什么我们不能一次性可靠地测试回文

java - Android 使用 indexOf

python-2.6 - 如何使用命令行标志执行 python 脚本

python - pyodbc 插入 sql

python - 如何选择 BeautifulSoup 中的第 n 个 child ?

python - django gui 用于数据统计分析

javascript - 为什么我的对象的值是函数而不是字符串?

python - 检查数字 (mod 2) 是否有余数 0 的函数不起作用