Python脚本中出现错误

Python脚本中出现错误,python,apache,cgi,Python,Apache,Cgi,我已经用ApacheWeb服务器实现了cgi python脚本。 我有以下功能: def check(form=None, key=''): if form == None: return -1 value = form.has_key(key) if value == False: return -1 return 0 这是我的标题: 内容类型:文本/纯文本;字符集=UTF-8 但当我运行它,并没有传递任何形式,下面的错误显示

我已经用ApacheWeb服务器实现了cgi python脚本。 我有以下功能:

def check(form=None, key=''):
    if form == None:
        return -1
    value = form.has_key(key)
    if value == False:
        return -1
    return 0
这是我的标题:

内容类型:文本/纯文本;字符集=UTF-8

但当我运行它,并没有传递任何形式,下面的错误显示

Python脚本中出现问题。下面是一系列的步骤 导致错误的函数调用,按发生顺序排列

并且该行值=form.has_keykey被标记为错误

这是回溯,我看到fieldStorage没有创建字典来存储密钥:

:不可转位 args='不可索引', 消息='不可索引'

如何解决此问题。
谢谢。

我不确定您是如何执行检查方法的,但我自己已经测试过了,它对我来说工作正常

#! /usr/bin/python
def check(form=None, key=''):
    if form == None:
        return -1
    value = form.has_key(key)
    if value == False:
       return -1
    return 0

def index():
    return check()
输出:-1


上述代码不会引发错误

请将stacktrace/opt/lampp/htdocs/ConfirmPassword.fcgi粘贴到check\u input\u paramform=FieldStorageNone,None,'CMD=ConfirmPasswordRequest&password=1234&poweroff=0\x00\x00',cmd\u key='cmd'25如果form==None:26 return-1=>27 cmd\u value=form.has\u keycmd\u key 28如果cmd\u value==False:29 return-1 cmd\u value未定义,form=FieldStorageNone,None,'cmd=ConfirmPasswordRequest&password=1234&poweroff=0\x00\x00',form.has\u key=你自己说的,你没有通过任何形式。如果form为空,则无法访问form.has_keykey,因为它是无效/空对象。为了提高可读性,你可以编辑你的问题-现在我把A=A&B=B&C=C传给表单。但同样的错误也发生了。我也无法获取表单的长度。OP未使用CLI执行文件。他们希望使用web界面Appache+cgi来执行它。在这种情况下,如果_umain\u==_u name\u Ui:总是返回false,那么您的代码将永远不会这样执行
#! /usr/bin/python
def check(form=None, key=''):
    if form == None:
        return -1
    value = form.has_key(key)
    if value == False:
       return -1
    return 0

def index():
    return check()
def check(form=None, key=''):
    if form == None:
        return -1
    value = form.has_key(key)
    if value == False:
        return -1
    return 0

if "__main__" == __name__:
    check()