Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 重复访问NAO Robot上ALMemory中的数据-未找到数据_Python 2.7_Nao Robot_Choregraphe - Fatal编程技术网

Python 2.7 重复访问NAO Robot上ALMemory中的数据-未找到数据

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(“数据键”

我在Windows10上使用了一个nao机器人,它的编舞是2.1.4

在我的流程图中,有几个框使用相同的数据。当我第一次使用数据时,它将随后插入内存,并带有:
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的使用,以便处理尚未插入数据的情况
你还应该注意你在盒子里打电话的位置;当图表加载时,在触发任何输入之前,会调用一个boxes'.onLoad(),因此如果您试图读取ALMemory的代码在其中,但写入它的位置在.onStart()中,那么您会出现此错误就不足为奇了