0

这就是我所拥有的:

    myGrammar = nltk.data.load('file:C:\Users\Jay\Documents\buffalo.cfg')

我得到的错误是:

  `Traceback (most recent call last):
   File "C:\Users\Jay\Documents\Assignment9.py", line 8, in <module>
   myGrammar = nltk.data.load( 'file:C:\Users\Jay\Documents\buffalo.cfg')
 File "C:\Python27\lib\site-packages\nltk\data.py", line 610, in load
   resource_val = nltk.grammar.parse_cfg(_open(resource_url).read())
 File "C:\Python27\lib\site-packages\nltk\data.py", line 689, in _open
   return open(path, 'rb')
  IOError: [Errno 22] invalid mode ('rb') or filename: 'C:\\Users\\Jay\\Documents\x08uffalo.cfg'`

有谁知道我的网址应该是什么?为什么我在错误中得到 x08 而不是 b?

4

2 回答 2

2

使用 RichieHindle 的答案中所示的原始字符串是纠正字符错误的一种方法。另一个是逃避反斜杠:

myGrammar = nltk.data.load('file:C:\\Users\\Jay\\Documents\\buffalo.cfg')

另一个是使用正斜杠而不是反斜杠(在 Windows 中有效):

myGrammar = nltk.data.load('file:C:/Users/Jay/Documents/buffalo.cfg')

如果您在更正此问题后仍然遇到同样的错误,那么这似乎表明您指定的文件位置有问题..您确定该位置正确吗?

于 2013-04-20T21:52:16.827 回答
0

使用原始字符串 - 注意前导r- 用于嵌入反斜杠的字符串:

load(r'file:C:\Users\Jay\Documents\buffalo.cfg')
     ^

否则,您的某些反斜杠(例如 in \b)会将普通字符转换为控制字符。

于 2013-04-20T16:33:06.833 回答