0

那里。我为这个简单的问题道歉,但我是一个完全的新手,需要一些帮助。我正在尝试运行 Peter Norvig 的 Spelling Corrector (http://norvig.com/spell.py),但收到以下回复:

C:\>spelling.py
Traceback (most recent call last):
  File "C:\Python27\spelling.py", line 11, in <module>
    NWORDS = train(words(file('big.txt').read()))
IOError: [Errno 2] No such file or directory: 'big.txt'

该脚本包含一个嵌入的文本文件 (big.txt),我已创建该文件并将其保存在与 spelling.py 相同的目录中。为什么找不到 big.txt 文件?其次,一旦脚本正常工作,我将如何将它用于需要更正的单词样本?

4

1 回答 1

3

脚本的工作目录是当前文件夹,而不是脚本的文件夹。

您可以将以下代码添加到脚本中以更改此设置:

import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))

当然,您也可以仅在打开文件而不是更改工作目录时使用此文件夹:

path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'big.txt')
NWORDS = train(words(file(path).read()))
于 2012-05-11T16:31:21.347 回答