在使用nltk.corpus.gutenberg.fileids()的路径中解码错误



当我使用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字符的路径(即避免使用您的用户目录或更改您的用户名)。

最新更新