Python错误:'NoneType'对象没有属性'split'

时间:2014-10-02 23:53:26

标签: python split attributeerror

    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:&#39; NoneType&#39;对象没有属性&#39; split&#39;。我相信我会犯一个小错误,但我不知道,只是开始编程。

提前致谢

Ps:抱歉英语不好

2 个答案:

答案 0 :(得分:0)

这意味着您的一个变量enviadorecibido被设置为无。你是否期望某些案件返回None?如果是这样,您可以跳过这些情况下的拆分呼叫:

        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)

答案 1 :(得分:0)

您应该查看回溯指向哪一行 - 或者如果您无法理解它,请将其粘贴到问题中。

可能你忘记了其中一种方法的退货声明。这意味着该方法将返回None没有split方法的{{1}}