假设我从一个名为“info.dat”的文件中读取,其中包含:
[{'name': 'Bob', 'occupation': 'architect', 'car': 'volvo'}, {'name': 'Steve', 'occupation': 'builder', 'car': 'Ford'}]
我如何阅读它并将它变成字典列表?如果我这样做:
with open('info.dat') as f:
data = f.read()
它只是将它读入一个字符串,即使我这样做是为了分解它:
data = data[1:-1]
data = data.split('},')
我还得把它编进字典。有没有更好/更清洁的方法来做到这一点?
最佳答案
使用 ast.literal_eval
可以读取简单的 Python 文字,例如字典/元组/列表 - 虽然不像 eval
那样“强大”,但由于它更安全限制性。
from ast import literal_eval
with open('yourfile') as fin:
your_list = literal_eval(fin.read())
关于python - 从文件中读取列表,并将其转换为 Python 字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17786728/