为什么会出现IndexError:列表索引超出范围

时间:2019-10-11 19:05:17

标签: python list sockets split client

为了向您解释我的问题,我的客户发送了一个用户名和密码... 客户端将其格式化为

文件=盐+用户名+“ splitme” +盐+密码 通过tls加密文件(连接到服务器时)

  
    
      

发送到服务器

    
  

服务器解密文件并尝试在“ splitme”处分割

代码:

data = data.split("splitme", 1)

    username_salted = data[0]
    password_salted = data[1]

然后Python停止程序并说

password_salted =数据[1] IndexError:列表索引超出范围

我不知道是什么问题...

1 个答案:

答案 0 :(得分:1)

因为data是1个元素的列表,因为第一次访问元素不会引发错误。

您解码了data吗?成功了吗? data可能不包含“ splitme”,在这种情况下,您会得到一个列表,其中包含您尝试拆分的全部内容作为唯一元素。

您是否已验证data的内容?您可以访问源代码吗?你可以运行吗?在这种情况下,您可以更改代码以进行一些额外的日志记录,运行调试器(例如ipdb3)或使用跟踪模块查看执行的操作。