不需要字典时出现键错误

2024-04-16 12:44:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个功能,可以设置相机的快门,并将一个浮子作为输入:

def changeShutter(value):
    global camera, shutter
    shutter['abs_value']+=value
    try:
        camera.set_property(**shutter)
    except:
        print "could not set shutter"

其中shutter是包含快门所需的所有属性的字典,abs_value是需要更改其值然后设置的键。你知道吗

我可以很容易地在jupyter笔记本中调用它,我用它来开发changeShutter(0.05),它工作得很好。你知道吗

然后,我在网页上创建了一个简单的html按钮,该按钮将消息发送到包含changeShutter函数的flask套接字服务器,并根据按下的按钮和因此发送的消息,解析为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)

我清楚地收到了2个可能选项中的一个,并正确地输入了正确的if语句(我尝试过用额外的print语句进行调试),但出于某种原因,它向我抛出了一个key error: 0.05。你知道吗

当函数不需要字典输入时,为什么会出现键错误?你知道吗


Tags: 函数消息messageif字典valuerequestdef