无法删除停止词python

时间:2017-12-05 19:41:18

标签: python-3.x

我需要从电影抄本中删除停用词,停用词和抄本都在单独的文本文件中。

def stopWords():
    fi = open('stoplist.txt', 'r')
    stopWords = []
    for line in fi:
        line = line.strip()
        stopWords.append(line)
    fi.close
    return None

def readText():
    stopWords()
    fi = open('holy-grail.txt', 'r')
    removeStopWords = ''.join(fi)
    for word in stopWords:
        removeStopWords = removeStopWords.replace(" " + word + " ", " ")
    transcript = []
    for line in fi:
        line = line.strip().lower().split(':')
        transcript.append(line)
    fi.close
    return transcript

当我运行此代码时,我收到错误消息: Traceback(最近一次调用最后一次):   文件“”,第1行,in     READTEXT()   在readText中输入文件“C:\ Users \ Adam Sitzmann \ Desktop \ hw9 \ hw9.py”,第14行     在stopWords中的单词: TypeError:'function'对象不可迭代

1 个答案:

答案 0 :(得分:0)

这里:for word in stopWords你试图迭代一个函数。您的代码中有命名冲突。 stopWords既是函数又是变量。以不同方式命名变量。

编辑: 因为你是python的新手,我想建议一些改进: 1.您不需要写return None。没有return的函数将始终为您提供None。 2.说过值得注意的是,您可以使用return传递stopWords()函数的输出来进一步处理它。 3.命名约定:在python中使用underscored_names代替camelCase

是常见的