这就是我所拥有的:
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?
答案 0 :(得分: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')
如果您在纠正此问题后仍然遇到相同的错误,那么它似乎表明您正在指定的文件位置存在问题..您确定位置是否正确?
答案 1 :(得分:0)
使用原始字符串 - 请注意前导r
- 对于带有嵌入式反斜杠的字符串:
load(r'file:C:\Users\Jay\Documents\buffalo.cfg')
^
否则你的一些反斜杠(例如在\b
中)会将普通字符变成控制字符。