当我使用Python 2.7 (Anaconda, Windows)运行nltk.corpus.gutenberg.fileids()
时,我得到以下错误:
File "C:Anacondalibntpath.py", line 85, in join
result_path = result_path + '\'
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 9:
ordinal not in range(128)
当我使用Python 3.4时没有这个错误。也许我错了,但我怀疑路径包含重音(因为我的Windows用户名中有重音)。
当我在ntpath.py
中添加一些print
时,没有任何内容打印,我不知道为什么(?)所以我无法自己调试。
EDIT: import nltk
足以得到错误
我猜Python 2 nltk在非ascii路径上有一些问题。使用Python 3可能是这里最简单的修复方法,至少假设您没有太多无法在其中工作的代码。这很难确定,因为您没有包含完整的回溯,但很可能需要修补nltk来修复Python 2的这个问题。否则,您需要避免使用非ascii字符的路径(即避免使用您的用户目录或更改您的用户名)。