2014-10-02 133 views
-2
if x=="recibidos": 
     whatsintro_gui.borrar_lista_mensajes() 
     nr=whatsintro_msg.cantidad_recibidos() 
     k=0 
     while k<=nr: 
      recibido=whatsintro_msg.mensaje_recibido(k) 
      [de,para,msg]=recibido.split(sep="\n", maxsplit=2) 
      msg=desencriptar(msg) 
      whatsintro_gui.agregar_mensaje_al_final(de,usuario,msg) 
      k+=1 

    if x=="enviados": 
     whatsintro_gui.borrar_lista_mensajes() 
     ne=whatsintro_msg.cantidad_recibidos() 
     k=0 
     while k<=ne: 
      enviado=whatsintro_msg.mensaje_enviado(k) 
      [de,para,msg]=enviado.split(sep="\n", maxsplit=2) 
      msg=desencriptar(msg) 
      whatsintro_gui.agregar_mensaje_al_final(usuario,para,msg) 
      k+=1 

當我運行我的程序時,我得到了上面使用的兩種拆分方法的錯誤。顯示的錯誤是AttributeError:'NoneType'對象沒有屬性'split'。我相信我犯了一個小錯誤,但我不知道,剛開始編程。Python錯誤:'NoneType'對象沒有'split'屬性

在此先感謝

PS:抱歉不好英語

+0

您可以發佈完整回溯? – mgilson 2014-10-02 23:54:34

+2

'whatsintro_msg.mensaje_enviado(k)'和另一種方法可能返回'None'。你應該看看爲什麼會發生。考慮使用'pdb'。 – vinod 2014-10-02 23:54:55

回答

0

這意味着您的變量之一,無論是enviadorecibido被設置爲無。你預計有些案例會返回無?如果是這樣,你可以跳過這些情況下,拆分電話:

 enviado=whatsintro_msg.mensaje_enviado(k) 
     if enviado is not None: 
      [de,para,msg]=enviado.split(sep="\n", maxsplit=2) 
      msg=desencriptar(msg) 
      whatsintro_gui.agregar_mensaje_al_final(usuario,para,msg) 
0

你應該看看哪一行回溯指向 - 或將其粘貼到問題,如果你不能瞭解它。

可能您忘記了其中一種方法的return語句。這意味着該方法將返回None,該方法不具有split方法

相關問題