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

2024-04-23 19:01:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码应该在文本中查找单词的出现。出于某种原因,在使用此函数之后,从这个特定文本won't work读取方法(对于.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()]

我没有发现任何会导致这种情况的错误。你知道吗


Tags: 方法函数代码textin文本列表new
1条回答
网友
1楼 · 发布于 2024-04-23 19:01:49

我假设new是调用open(..)的结果,它应该是传递给函数的文件句柄。调用readlines()会耗尽它的精力,因此尝试使用相同的句柄读取文件是行不通的。打开一个新的句柄,或者可以调用new.seek(0)(比打开一个全新的句柄更好的选择——虽然有些情况下会再次返回相同的句柄,但是这里不要深入到这个问题),将索引移到文件的开头。你知道吗

相关问题 更多 >