1

我为 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

4

1 回答 1

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.

于 2013-06-18T15:19:10.517 回答