Python 2.7 重复访问NAO Robot上ALMemory中的数据-未找到数据
我在Windows10上使用了一个nao机器人,它的编舞是2.1.4 在我的流程图中,有几个框使用相同的数据。当我第一次使用数据时,它将随后插入内存,并带有:Python 2.7 重复访问NAO Robot上ALMemory中的数据-未找到数据,python-2.7,nao-robot,choregraphe,Python 2.7,Nao Robot,Choregraphe,我在Windows10上使用了一个nao机器人,它的编舞是2.1.4 在我的流程图中,有几个框使用相同的数据。当我第一次使用数据时,它将随后插入内存,并带有: self.memory=ALProxy(“ALMemory”)。。。self.memory.insertData(“dataKey”,self.value) 在两个位置,我需要访问数据,因此我使用: self.memory=ALProxy(“ALMemory”)。。。self.value=self.memory.getData(“数据键”
self.memory=ALProxy(“ALMemory”)。。。self.memory.insertData(“dataKey”,self.value)
在两个位置,我需要访问数据,因此我使用:
self.memory=ALProxy(“ALMemory”)。。。self.value=self.memory.getData(“数据键”)
当我运行这个程序(程序甚至没有启动)时,我立即得到以下错误:
[ERROR] behavior.box :_safeCallOfUserMethod:281 _Behavior__lastUploadedChoregrapheBehaviorbehavior_1172060400__root__unknownProgramName_6__redMarkedBox_2: Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/naoqi.py", line 271, in _safeCallOfUserMethod
func()
File "<string>", line 12, in onLoad
File "/usr/lib/python2.7/site-packages/naoqi.py", line 301, in __call__
return self.__wrapped__.method_missing(self.__method__, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/naoqi.py", line 371, in method_missing
raise e
RuntimeError: ALMemory::getData
ALMemory::getData
Data not found dataKey
[ERROR]behavior.box:\u safeCallOfUserMethod:281\u behavior\u last uploaded ChoregraphBehavior\u 1172060400\u root\u未知程序名\u 6\u redMarkedBox\u 2:回溯(最近一次调用):
文件“/usr/lib/python2.7/site packages/naoqi.py”,第271行,在_safecallofuser方法中
func()
文件“”,第12行,已加载
文件“/usr/lib/python2.7/site packages/naoqi.py”,第301行,在调用中__
返回self.\u包装的\u方法\u缺失(self.\u方法\u、*args、**kwargs)
方法_中的文件“/usr/lib/python2.7/site packages/naoqi.py”,第371行缺失
提高e
运行时错误:ALMemory::getData
ALMemory::getData
找不到数据密钥
在我的流程图中,第二个框用红色标记
我的问题是:如何从内存中再次获取数据
我还试图第二次将数据插入内存,但它没有改变。最近,我将输出和输入添加到受影响的框中,以将所需的数据发送到框中。但是我的程序变得混乱不堪。有几种可能性:
- 在行为开始时的某个地方,在其他地方之前使用(或者插入一个好的默认值,这有助于确保你总是从头开始)
- 使用try/except RuntimeError语句包装您对ALMemory.getData的使用,以便处理尚未插入数据的情况