Python 2.7 TypeError:%:' NoneType'不支持的操作数类型和'元组

时间:2013-06-18 15:17:15

标签: python python-2.7 append string-formatting typeerror

我已经为python生成了以下代码,但由于某种原因我无法解决为什么它会返回错误:

TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple

我已经看过了,但我看不出我做错了什么:S

temp_appended_data = []

def runme():
    global temp_appended_data

    def test():
        return "testdata"

    def no():
        return "22453.32214"

    def time():
        return "22:12"

    def name():
        return "george"

    temp_appended_data.append("""test example <br>
                                Test: % <br>
                                no: % <br> 
                                time: % <br>
                                name: % <br>
                                """) % (test(),no(),time(),name())

    print temp_appended_data

runme()

任何人都能看到并解决我做错了什么?

由于 - Hyflex

1 个答案:

答案 0 :(得分:5)

list.append返回None。您可能想要移动括号,以便格式化字符串,然后将其传递给append,而不是附加未格式化的字符串,然后尝试格式化None

temp_appended_data.append("""test example <br>
                            Test: %s <br>
                            no: %s <br> 
                            time: %s <br>
                            name: %s <br>
                            """ % (test(),no(),time(),name()))

此外,%不是有效的替换字段。您可能打算使用%s