2015-06-04 25 views
-1

我已經在文本文件中放置了一個列表。我想Python讀取文本文件並返回內容作爲列表。但是,而不是閱讀的內容作爲一個字符串:Python:以列表形式讀取文件列表

文本文件:

['a','b','c'] 

的Python:

ids=[] 

writtenFile =open('file.txt') 
readFile=writtenFile.read() 
ids= readFile 
writtenFile.close() 
print ids 

返回什麼是[ '一', 'B','C ']作爲一個字符串,而不是一個列表或文本。有沒有一種方法可以從文本文件中檢索['a','b','c'],然後將其存儲在ids字符串中,以便ids是一個列表['a','b','c' ]而不是字符串? 「[ 'A', 'B', 'C']」?

+0

'我已經在文本文件中列出了一個列表'你爲什麼要這麼做? – njzk2

+0

@ njzk2但是有什麼問題,他想知道如何從字符串轉換成python列表對象。 –

+0

如果您必須知道,我有3個腳本必須使用數千個項目的相同列表。我想要第一個腳本創建列表,然後保存到其他腳本可以讀取的文件 – auto

回答

2

使用ast.literal_eval作爲寫入但實際上一個字符串字面評價文件的內容:

data = ast.literal_eval(open('data.txt').read()) # create file, read contents, evaluate 
+0

一定要'import ast',以便你可以使用'literal_eval' –

+0

謝謝,這個工程。 – auto

1

如果你只是有相同的格式,最快捷的方式將剛剛剝離和拆分:

with open('file.txt') as f: 
    print(f.readline().translate(None,"'[]\n").split(",")) 
    ['a', 'b', 'c']