NLTK - 没有名为语料库的模块

use*_*657 6 python nltk importerror

用PIP安装NLTK和NLTK-DATA之后,我运行python然后从nltk.corpus import cmudict输入它就可以了.但是当我写这样的脚本时:

from nltk.corpus import cmudict

d = cmudict.dict()

def nsyl(word):
    return [len(list(y for y in x if y[-1].isdigit())) for x in d[word.lower()]]

print nsyl("hello")
Run Code Online (Sandbox Code Playgroud)

我有以下错误:

Traceback (most recent call last):
File "nltk.py", line 1, in <module>
from nltk.corpus import cmudict
File "nltk.py", line 1, in <module>
from nltk.corpus import cmudict
ImportError: No module named corpus
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题 ?

提前致谢

Jon*_*den 7

从你的stacktrace : File "nltk.py", line 1, in <module>,你已经调用了你的文件nltk.py. 当python搜索模块时,它首先查看当前目录,然后你有"nltk.py".它将导入为nltk,并且由于您的代码没有定义语料库,因此无法找到nltk.corpus.

要解决此问题,您应该将文件重命名为其他内容nltkexperience.py.还要确保从目录中删除"nltk.pyc"(如果存在),因为这也将被加载(它是代码的字节编译版本).在那之后,它应该工作正常.