同时在python中创建文件列表。

时间:2017-09-11 15:43:35

标签: python file

我正在从文件创建列表列表,但我的输出中有点错误:

f=open('file.txt')
line=f.readline()
a=[]
while line:
    a.append(line.strip('\n'))
    line=f.readline()
f.close()
print (a)

输出:["['verb', 0, 5, 7]", "['noun', 9, 3, 4]"]

所需输出:[['verb', 0, 5, 7], ['noun', 9, 3, 4]]

1 个答案:

答案 0 :(得分:1)

如果文件只包含文字和列表,元组,集,词典,则可以使用以下方法:

from ast import literal_eval

with open('file.txt') as f:
    a = [literal_eval(line) for line in f]
print(a)

这里我们使用with范围打开文件,接下来我们使用 list comprehension 来解析整个文件。最后我们打印出来。 literal_eval函数将包含Python文字的字符串转换为该文字。