2017-09-11 21 views
-1

私は、ファイルからリストのリストを作成していますが、私は私の出力に少し間違って取得しています:pythonでファイルからリストのリストを作成しています。

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

https://stackoverflow.com/questions/46156334/python-format-file-to-list/46156575#46156575 – Ajax1234

答えて

1

をファイルのみが含まれている場合リテラルとリスト、タプル、セット、辞書を使用すると、次の方法を使用することができます。

from ast import literal_eval 

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

ここでは、withスコープを使用してファイルを開きます。次に、リストの理解を使用して、ファイル全体を解析します。最後に印刷します。 literal_eval関数は、Pythonリテラルを含む文字列をそのリテラルに変換します。

+0

の出力は正しいですが、私はこの問題を解決するために私のコードに修正を加えたいと思います。私の他の問題のこの問題。 –

関連する問題