Python 从文件中的一行创建字典

Python 从文件中的一行创建字典,python,list,file,dictionary,Python,List,File,Dictionary,我目前正在编写一段代码,其中一行是一个列表文件,另一行是一个字典(见下文)。是否有方法将以字符串形式保存到文件中的列表或词典重新创建该列表/目录?我试过其他帖子,但我认为我没有在寻找正确的东西,因为到目前为止没有一条帖子能解决我的问题 这是文件内容的样子: [1,2,3,4,5,6,7,8] {'a':1,'b':2,'c':3} 这与我认为有效的方法是一致的(显然这只是一个近似值) 谢谢 要安全地计算包含Python文本的字符串,可以使用: 要读取和分析文件的前两行,请执行以下操作: from

我目前正在编写一段代码,其中一行是一个列表文件,另一行是一个字典(见下文)。是否有方法将以字符串形式保存到文件中的列表或词典重新创建该列表/目录?我试过其他帖子,但我认为我没有在寻找正确的东西,因为到目前为止没有一条帖子能解决我的问题

这是文件内容的样子:
[1,2,3,4,5,6,7,8]
{'a':1,'b':2,'c':3}

这与我认为有效的方法是一致的(显然这只是一个近似值)


谢谢

要安全地计算包含Python文本的字符串,可以使用:

要读取和分析文件的前两行,请执行以下操作:

from ast import literal_eval

with open(location) as f:
    L = literal_eval(f.readline())
    D = literal_eval(f.readline())

要安全地计算包含Python文本的字符串,可以使用:

要读取和分析文件的前两行,请执行以下操作:

from ast import literal_eval

with open(location) as f:
    L = literal_eval(f.readline())
    D = literal_eval(f.readline())

他不能只使用常规内置的
eval
函数而不学习新模块吗?@ytpillai:使用
eval()
是一种糟糕的做法,因为它可以计算任意表达式,而不仅仅是文字,这可能来自不可信的来源。他难道不能只使用常规内置的
eval
函数而不学习新模块吗?@ytpillai:使用
eval()
是一种不好的做法,因为它可以计算任意表达式,而不仅仅是来自不可信来源的文本。
from ast import literal_eval

with open(location) as f:
    L = literal_eval(f.readline())
    D = literal_eval(f.readline())