Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

string - returning a list of words after reading a file in python

I have a text file which is named test.txt. I want to read it and return a list of all words (with newlines removed) from the file.

This is my current code:

def read_words(test.txt):
    open_file = open(words_file, 'r')
    words_list =[]
    contents = open_file.readlines()
    for i in range(len(contents)):
         words_list.append(contents[i].strip('
'))
    return words_list    
    open_file.close()  

Running this code produces this list:

['hello there how is everything ', 'thank you all', 'again', 'thanks a lot']

I want the list to look like this:

['hello','there','how','is','everything','thank','you','all','again','thanks','a','lot']
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Depending on the size of the file, this seems like it would be as easy as:

with open(file) as f:
    words = f.read().split()

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...