【发布时间】:2015-12-12 16:51:24
【问题描述】:
我的 Python 版本是 win32 上的 3.5。我成功安装了自动更正模块
pip install autocorrect
但是,当我尝试导入它时
from autocorrect import spell
我收到以下错误:
Traceback (most recent call last):
File "<ipython-input-6-09b8d81ac4fb>", line 1, in <module>
runfile('C:/Users/AERizzo/Documents/Python Scripts/BagOfWords_v3.py',
wdir='C:/Users/AERizzo/Documents/Python Scripts')
File "C:\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 685, in runfile
execfile(filename, namespace)
File "C:\Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 85, in execfile
exec(compile(open(filename, 'rb').read(), filename, 'exec'), namespace)
File "C:/Users/AERizzo/Documents/Python Scripts/BagOfWords_v3.py", line 11, in <module>
from autocorrect import spell
File "C:\Anaconda3\lib\site-packages\autocorrect\__init__.py", line 16, in <module>
from autocorrect.nlp_parser import NLP_COUNTS
File "C:\Anaconda3\lib\site-packages\autocorrect\nlp_parser.py", line 26, in <module>
NLP_WORDS, NLP_COUNTS = parse('big.txt')
File "C:\Anaconda3\lib\site-packages\autocorrect\nlp_parser.py", line 20, in parse
words = words_from_archive(lang_sample, include_dups=True)
File "C:\Anaconda3\lib\site-packages\autocorrect\utils.py", line 28, in words_from_archive
with closing(t.extractfile(tar_path)) as f:
File "C:\Anaconda3\lib\tarfile.py", line 2066, in extractfile
tarinfo = self.getmember(member)
File "C:\Anaconda3\lib\tarfile.py", line 1743, in getmember
raise KeyError("filename %r not found" % name)
KeyError: "filename 'words\\\\big.txt' not found"
我查看了 utils.py,它似乎是从文件 words.bz2 中读取的。我打开了 bz2 存档,big.txt 文件确实在那里。可能是什么问题?
【问题讨论】:
-
简短的回答是,它没有找到 3.5GB 的语料库文件,但看起来您知道这一点。快速查看代码看起来好像包装可能从未在 Windows 上测试过。稍微长一点的代码显示,每次导入它都会解析那个巨大的语料库文件;它可能会完成工作,但肯定有更有效的方法来完成任务。我会寻找另一个包裹。
-
你是对的,事实上我决定通过编写我自己的拼写纠正器的简化版本来解决这个问题。然而,我很好奇为什么它找不到那个语料库文件。
标签: python python-3.x autocorrect