为什么使用函数后从文件读取不起作用?



我的代码应该找到文本中单词的出现。出于某种原因,使用此功能后,从此特定文本读取方法将不起作用(.readlines(( 方法为空列表,而 .read(( 方法则没有任何内容(。代码为:

def counter(new):
words = dict()
lines=new.readlines()
for line in lines:
text=line.split()
for word in text:
if word not in words:
words[word]=1
else: words[word]+=1
return [tuple(x) for x in words.items()]

我没有发现任何可能导致这种情况的错误。

我假设new是调用open(..)的结果,这应该是您传递给函数的文件句柄。调用readlines()会耗尽它,因此尝试使用相同的句柄从文件中读取将不起作用。打开一个新句柄,或者你可以调用new.seek(0)(比打开一个全新的句柄更好的选择 - 尽管在某些情况下会再次返回相同的句柄,但我们不要在这里深入探讨(将索引移动到文件的开头。

最新更新