2013-06-18 89 views
1

我已經爲python生成了以下一段代碼,但出於某種原因,我無法弄清楚爲什麼它返回錯誤:Python 2.7 TypeError:不支持的操作數類型爲%:'NoneType'和'元組

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

回答

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

+1

,還可以使用'%s'as格式規範 – Ber

+0

@Ber - 右。我沒有注意到那個。我只是解決了回溯中的第一個問題。 :) – mgilson

+0

我想最後'%s'應該是''%格式化操作... – Bakuriu

相關問題