从Python中的文件中读取字典的书面列表

时间:2016-04-13 17:11:11

标签: python list dictionary

我有一个文件,这是一个字典列表:

[{'text': 'this is the text', 'filed1': 'something1', 'filed2': 'something2', 'subtexts': [{'body': 'body of subtext1', 'date': 'xx'}, {'body': 'body of subtext2', 'date': 'yy'}}]

嵌套词典和列表的列表中可以包含多个词组和列表。我想在python中读取与此类似的文件,并创建一个数据结构(字典列表)。如何才能知道它不是json但它已经file.write(str(list))写入文件,其中list是我们想要从文件中读回的内容?

1 个答案:

答案 0 :(得分:8)

使用ast.literal_eval这是一种将Python文字(as opposed to eval)评估为实际数据结构的安全方法。

那是:

import ast

with open('file.txt') as f:
    data = ast.literal_eval(f.read())

如果你有超出支持的类型(字符串,字节,数字,元组,列表,dicts,集合,布尔值和None)的内容,你可以use my recipe in this answer