0

谁能看到这里有什么问题?我是 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
4

1 回答 1

3

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

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

..具体来说,self.hive.bees[ nid ]部分。nid显然拥有一个值0,并且您的self.hive.bees字典中没有0键。

于 2012-07-09T14:57:16.833 回答