Skip to main content
 首页 » 编程设计

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

2025年05月04日10EasonJim

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