Python 2.6 TypeError:一元+的错误操作数类型:' str' - 什么是正确的语法?

时间:2015-03-05 21:06:43

标签: python sqlite python-2.6

代码

sw_current = cursor.execute("SELECT * from SOFTWARE_")
sw_current = sw_current.fetchall()
for sw_item in sw_current:
    current_software_id = sw_item[0]
    # Create Software XML Element
    sw_element = ET.SubElement(root, "Software")
    # Set Software attributes
    for s in range(1, len(software_attributes)):
       sw_element.set(software_attributes[s], str(sw_item[s]))
    # Get all Targets for current sw_element
    targets_in_sw = cursor.execute("SELECT TARGET2 from SOFTWARE_TARGET_ WHERE SOFTWARE1=?", (current_software_id,))
    targets_in_sw = list(chain.from_iterable(targets_in_sw.fetchall()))
    # Get all Target IDs for current sw_element
    current_target_IDs = cursor.execute("SELECT * from TARGET_ WHERE id_="( + ",".join([str(x) for x in targets_in_sw]) + ");"))
    current_target_IDs = current_target_IDs.fetchall()

以下是发生错误的行:

current_target_IDs = cursor.execute("SELECT * from TARGET_ WHERE id_="( + ",".join([str(x) for x in targets_in_sw]) + ");"))
                                                                        ^                                           ^

解释

TARGET_是一个可能有或没有多个值的列表时,我试图从targets_in_sw中选择所有内容。请参阅my previous question了解更多信息。

问题

带错误的代码行的正确语法是什么?我用什么来代替+操作数?

0 个答案:

没有答案