Python 3.x 删除python中的停止词时遇到问题

Python 3.x 删除python中的停止词时遇到问题,python-3.x,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

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

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
运行此代码时,我收到错误消息: 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 readText() 文件“C:\Users\Adam Sitzmann\Desktop\hw9\hw9.py”,第14行,readText格式 对于stopWords中的单词:
TypeError:“function”对象不可编辑

此处:
对于stopWords中的单词
您尝试迭代函数。代码中存在命名冲突
stopWords
既是一个函数也是一个变量。以不同的方式命名变量

编辑: 由于您是python新手,我想提出一些改进建议: 1.您不需要写入
并返回None
。没有
返回的函数将始终为您提供
。 2.话虽如此,值得注意的是,您可以使用
return
传递
stopWords()函数的输出以进一步处理它。

3.命名约定:python中常用
下划线的\u名称
代替
camelCase

来表示stopWords中的单词:
您正在迭代函数对象。。。并且不使用函数的结果…您需要调用
stopwords()
。您为什么不在
stopwords
中返回
fi
?按原样,当函数退出时,该列表将被丢弃