使用此代码:
def createWordList(filename):
file=open(filename,'r')
s=file.read()
file.close()
L=s.split()
return L
此文本文件:http://www.cs.ucsb.edu/~buoni/cs8/labs/lab05/wordlist.txt
我将返回文本文件中所有单词的列表。 但是当函数被称为la:
时createWordList('wordlist.txt')
我的电脑(core-i5)需要大约5-10分钟才能执行任务,然后最终冻结。 它可以在大约2秒钟内返回单个单词的字符串。
答案 0 :(得分:1)
f=open('wordlist.txt','r+')
listofwords=[]
for line in f:
listofwords.append(line)
print(listofwords)
我没有遇到任何问题。花了0.049秒来形成列表(没有打印的过程程序)。打印需要很多时间。
答案 1 :(得分:0)
'file'对象是可迭代的,你可以用'for'stament迭代它。这样可以提高内存效率。阅读:Methods of File Objects
所以,试试这段代码:
def createWordList(filename):
myList = []
input_file = open(filename, mode='r')
for line in input_file:
myList.append(line)
return myList
工作原理:
整个文件的处理时间不超过3秒。