我需要从电影抄本中删除停用词,停用词和抄本都在单独的文本文件中。
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'对象不可迭代
答案 0 :(得分:0)
这里:for word in stopWords
你试图迭代一个函数。您的代码中有命名冲突。 stopWords
既是函数又是变量。以不同方式命名变量。
编辑:
因为你是python的新手,我想建议一些改进:
1.您不需要写return None
。没有return
的函数将始终为您提供None
。
2.说过值得注意的是,您可以使用return
传递stopWords()
函数的输出来进一步处理它。
3.命名约定:在python中使用underscored_names
代替camelCase