创建一个变量名来检查它是否在Python中定义

时间:2014-05-11 15:45:43

标签: python variables python-2.7

我有一个表单,您可以选择添加上传输入。我希望将每个输入上传的图像组合在一起(两者之间会有文字)。每次添加上传按钮时,都会得到名称“upload_image1”,“upload_image2”,...

我想检查这些名称是否已定义,以便稍后我可以循环使用它们。我正在尝试将upload_image和一个正在计算在一起的整数组合在一起,但看起来他正试图将该整数添加到未定义的upload_image值。

if len(form["upload_image1"]) > 0:
    while 1:
        field_count = 1
        if len(form["upload_image" + str(field_count)]) == 0: break
        upload_field = form["upload_image" + str(field_count)]
        upload_image += upload_field
        article_content += """
                            <p>%s</p>
                            """ % (description[field_count].value)
        for item in upload_field:
            article_content += '<img src="http://www.******.com/images/%s/%s">' % (link_title, item.filename)
        field_count = field_count + 1

2 个答案:

答案 0 :(得分:0)

以下是如何避免KeyError:

  • 如果form["upload_image1"]是字符串,请改用form.get("upload_image1", "")
  • 如果form["upload_image1"]是序列(例如列表或元组),请改用form.get("upload_image1", ())

答案 1 :(得分:0)

我修复了内存错误。我不小心把field_count = 1放在我的循环中,所以它一直在重置。 其余显然工作得很好。谢谢你的帮助!