我有一个文件,这是一个字典列表:
[{'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是我们想要从文件中读回的内容?
答案 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。