SocketServer.py错误

时间:2012-07-09 14:53:41

标签: python socketserver osc

任何人都可以看到问题在这里吗?我是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

1 个答案:

答案 0 :(得分:3)

使用不在字典中的键进行字典查找时,最常引发KeyError异常。在这种情况下,它看起来就像在最后一行:

self.hive.bees[ nid ].send_output( self.hive.serial, data )

..具体而言,self.hive.bees[ nid ]部分。 nid显然保留0的值,而您的self.hive.bees字典中没有0个字词。