Python 2.7 类型错误 : unsupported operand type(s) for %: 'NoneType' and 'tuple

标签 python python-2.7 append string-formatting typeerror

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

TypeError:% 的操作数类型不受支持:'NoneType' 和 '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

最佳答案

list.append 返回 None。您可能想移动括号,以便您格式化字符串并将其传递给 append,而不是 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

关于Python 2.7 类型错误 : unsupported operand type(s) for %: 'NoneType' and 'tuple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17172639/

相关文章:

Python:元素不是可点击的 Selenium

python - 在 Python 中按长度和值对列表列表进行排序

python - 函数返回无

python - 如果 CSV 文件不存在,如何创建它,然后仅 append 到它的 Python

javascript - append 到具有多个输入值的列表

python - 如何使用 python 执行非递归复制

python - 从集合创建一个 numpy 数组

python - 使用 apache solr 设置 Conceptnet

Python 2.7 多处理障碍

java - 尝试在 PostGres 中执行 array_append 函数时出现类型转换异常