2017-02-27 41 views
1

我有一個文件,我想導入到一個數組,但每個條目作爲索引,所以我可以調用每個特定的一個。Python:從索引完整的文件導入數組

文件(testing_array.txt):

["zero", "one", "two", "three", "four", "five"] 

腳本:

f = open('testing_array.txt').read() 
array = [f] 
print (array[0]) 
print (array[1]) 

輸出:

["zero", "one", "two", "three", "four", "five"] 
Traceback (most recent call last): 
    File "testing_array.py", line 4, in <module> 
    print (array[1]) 
IndexError: list index out of range 

我試過一個for循環未果.insert每個條目每個指數。我剛剛開始腳本python 3天前,所以我道歉,如果我忽略了一些基本的東西。任何幫助將不勝感激,謝謝。

+0

聽起來像你正在尋找'eval()'。 *不*在生產代碼中使用'eval()'。這非常危險,特別是對於不可信的輸入如文件。 – kichik

+0

在'array = [f]'添加'array = array [0]'之後,告訴我它是否可以工作,請參考 –

+0

@LeonZ。,這可能會導致輸出''[''和''「'',因爲 – Kevin

回答

3

嘗試使用json序列化程序(與列表的語法相同)。

import json 

my_list = json.loads('["zero", "one", "two", "three", "four", "five"]') 
+0

Jeez真的很容易。感謝您的幫助! –

2

您還可以刪除方括號並將其分成列表。

>>> line = '["zero", "one", "two", "three", "four", "five"]' 
>>> line.strip("[]").split(",") 
['"zero"', ' "one"', ' "two"', ' "three"', ' "four"', ' "five"']