Python新手问题:如果回调方法handlePackets
是一个类方法,则永远不会被调用。如果它不在课堂上,它会很好地工作。我能做什么?在
class Receiver:
def __enter__(self):
self.serial_port = serial.Serial('/dev/ttyUSB0', 115200)
self.xbee = ZigBee(self.serial_port, escaped=True, callback=self.handlePackets)
Logger.info('Receiver: enter')
return self
def __exit__(self ,type, value, traceback):
Logger.info('Receiver: exit')
self.serial_port.close()
def handlePackets(data):
Logger.info('Receiver: packet incoming')
我不得不将
self
作为第一个参数添加到packetHandler。这是所有类方法所必需的,但我忘了把它放进去。在我敢打赌,这是因为无论是从
ZigBee
内调用回调的,都会默默地失败。解释器使用2个参数调用函数,但正如您定义的那样,它只需要一个参数。在相关问题 更多 >
编程相关推荐