python - 从文件中读取列表,并将其转换为 Python 字典列表

标签 python file-io dictionary

假设我从一个名为“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/

相关文章:

c++ - 如何交换文本文件中的行?

arrays - 字典中每个项目的第一个成员需要是一个数组

c - 文件处理中的段错误

python - 有界/极限的编辑距离

python - 使用嵌套循环时索引 i 超出数组范围

python - 点的查询在网格 maya python api 中

perl - 如何使用 Perl 搜索归档文件

python - 从列表 Python 中向字典添加键

python - 排序字典python 3

python - 一个目录中的多个 Django 项目