2016-04-19 54 views
0

實質上,我有一個巨大的文件,並且所有文件都包含每行多個單詞,每個單詞都由一個空格分隔。有點像這樣:從文件中讀取單詞並放入列表

WORD WORD WORD WORD 
ANOTHER 
WORD SCRABBLE BLAH 
YES NO 

我想要做的就是把文件中的所有單詞變成一個巨大的名單,我試着用拆分,但沒有說明新線(\ n)的

回答

0

通過for line in f閱讀通過換行進行拆分,並且它的記憶效率高(一次只讀一行),但是將所有內容都放在一個巨大的列表中並非如此。無論如何,如果你堅持:

huge_list = [] 

with open(huge_file, "r") as f: 
    for line in f: 
     huge_list.extend(line.split()) 

要讀取整個文件到內存中作爲一個字符串,使用f.read()代替:

huge_list = [] 

with open(huge_file, "r") as f: 
    huge_list = f.read().split() 

輸入文件(用空格和換行分隔的話):

WORD WORD WORD WORD 
ANOTHER 
WORD SCRABBLE BLAH 
YES NO 

這兩個例子的輸出:

>>> huge_list 
['WORD', 'WORD', 'WORD', 'WORD', 'ANOTHER', 'WORD', 'SCRABBLE', 'BLAH', 'YES', 'NO'] 
>>> 
+0

我想把每個單詞放在巨大的列表中,因爲它是自己的元素,如果可能的話,不是每一行,例如它會是['word','another','word','etc'] – user2918356

+0

@ user2918356我不確定我明白。我發佈的兩個示例將分隔線條並將每個單詞放入一維'huge_list'中。你嘗試過運行它嗎? – jDo

+0

@ user2918356'['word','another','word','etc']'正是輸出的樣子。 – jDo

相關問題