从文件中读取单词并放入列表

use*_*356 1 python string loops file python-3.x

本质上,我有一个巨大的文件,所有文件每行包含多个单词,每个单词用空格分隔。有点像这样:

WORD WORD WORD WORD
ANOTHER
WORD SCRABBLE BLAH
YES NO 
Run Code Online (Sandbox Code Playgroud)

我想要做的是将文件中的所有单词放入一个巨大的列表中,我尝试使用 split 但这并没有考虑到新行(\ n)

jDo*_*jDo 7

通过for line in f换行符上的拆分读取,并且在内存方面是有效的(一次读取一行),但将所有内容都放在一个巨大的列表中则不然。无论如何,如果你坚持:

huge_list = []

with open(huge_file, "r") as f:
    for line in f:
        huge_list.extend(line.split())
Run Code Online (Sandbox Code Playgroud)

要将整个文件作为字符串读入内存,请f.read()改用:

huge_list = []

with open(huge_file, "r") as f:
    huge_list = f.read().split()
Run Code Online (Sandbox Code Playgroud)

输入文件(用空格和换行符分隔的单词):

WORD WORD WORD WORD
ANOTHER
WORD SCRABBLE BLAH
YES NO 
Run Code Online (Sandbox Code Playgroud)

两个示例的输出:

>>> huge_list
['WORD', 'WORD', 'WORD', 'WORD', 'ANOTHER', 'WORD', 'SCRABBLE', 'BLAH', 'YES', 'NO']
>>> 
Run Code Online (Sandbox Code Playgroud)