寻找一种有效的方法来读取包含unicode键/值的dict类型行,这些键本身包含一个或多个单引号。例如,考虑具有以下单行文本的文件:
{u'price': 180.45, u'item': u'Black Jacket Men's Small'}
将此行读入python dict对象的最有效方法是什么?我通过使用正则表达式替换来解决它,但是想确保它不是一个更简单的工具。
编辑:这与关于列表的this question非常不同,因为它处理的单引号unicode文字在字符串值中包含有问题的单引号。
答案 0 :(得分:1)
您可以使用ast.literal_eval
。
正如文档所解释的那样:
安全地评估表达式节点或包含Python文字或容器显示的字符串。提供的字符串或节点可能只包含以下Python文字结构:字符串,字节,数字,元组,列表,字符串,集合,布尔值和无。
只要您的价值是其中之一,这是一个很好的解决方案。