我正在从文件创建列表列表,但我的输出中有点错误:
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]]
答案 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文字的字符串转换为该文字。