2014-10-02 130 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方法

相关问题