我有一个功能可以在相机上设置快门并将浮动作为输入:
def changeShutter(value):
global camera, shutter
shutter['abs_value']+=value
try:
camera.set_property(**shutter)
except:
print "could not set shutter"
其中shutter
是包含快门所需的所有属性的字典,而abs_value
是其值需要更改然后设置的键。
我可以在一个用changeShutter(0.05)
进行开发的jupyter笔记本中轻松调用它,它可以正常工作。
然后我在网页上创建了一个简单的html按钮,它向包含changeShutter函数的flask-socket服务器发送一条消息,并且根据按下的按钮和发送的消息,它解析0.05或-0.05,如下所示:
@socketio.on('shutter request', namespace='/test')
def changeShutter(message):
request = message['data']
print 'Shutter request received: %s' %request
if str(request) == "shutter increase":
changeShutter(0.05)
elif str(request) == "shutter decrease":
changeShutter(-0.05)
我清楚地收到了两个可能的选项中的一个并正确输入了正确的if
语句(我已尝试使用额外的打印语句进行调试),但由于某种原因它会向我抛出key error: 0.05
。< / p>
当函数不需要字典输入时,为什么会出现键错误?
答案 0 :(得分:0)
如上面的评论所述,这是一个愚蠢的错误,我有2个不同的同名函数。