任何人都可以看到问题在这里吗?我是python的新手,我需要一些指导。 我在带有Lion的Mac上以32位模式运行Python 2.7.3。依赖性包括
pyOSC pyserial 2.6 python-xbee-api 2.00 optparse_gui 0.2 wxPython 2.8
我将不胜感激任何帮助!
OSCServer: KeyError on request from home.gateway:60537: 0
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 638, in __init__
self.handle()
File "/Library/Python/2.7/site-packages/OSC.py", line 1770, in handle
self._unbundle(decoded)
File "/Library/Python/2.7/site-packages/OSC.py", line 1761, in _unbundle
self._unbundle(msg)
File "/Library/Python/2.7/site-packages/OSC.py", line 1752, in _unbundle
self.replies += self.server.dispatchMessage(decoded[0], decoded[1][1:], decoded[2:], self.client_address)
File "/Library/Python/2.7/site-packages/OSC.py", line 1714, in dispatchMessage
reply = self.callbacks[addr](pattern, tags, data, client_address)
File "minihiveosc.py", line 74, in handler_output
self.setOutput( args[0], args[1:] )
File "minihiveosc.py", line 178, in setOutput
self.hive.oscToMiniBee( mid, data )
File "minihiveosc.py", line 330, in oscToMiniBee
self.hive.bees[ nid ].send_output( self.hive.serial, data )
KeyError: 0
答案 0 :(得分:3)
使用不在字典中的键进行字典查找时,最常引发KeyError
异常。在这种情况下,它看起来就像在最后一行:
self.hive.bees[ nid ].send_output( self.hive.serial, data )
..具体而言,self.hive.bees[ nid ]
部分。 nid
显然保留0
的值,而您的self.hive.bees
字典中没有0
个字词。