有关列表溢出:list index out of range

记录学习python遇到的bug,自己无法解决

问题描述:

web服务器和浏览器进行简单交互,服务器获取浏览器请求的文件名,splitlines()切割成列表,取列表第一个元素,下标为0,使用正则表达式进行提取文件名。在给定有html页面的后缀名时,一切正常。当给定满足条件的’.py’后缀名,获取无页面信息,输出、显示也都正常,但是会报错:如图
错误提示
我已经尝试过打印出request_lines[0],会有数据,可以证明列表不为空。
附上部分代码:`

def send_header(self,new_socket):
	request = new_socket.recv(1024).decode('utf-8')
	request_lines = request.splitlines()
	ret = re.match(r'[^/]+(/[^ ]*)',request_lines[0])`

整体流程就是创建TCP套接字,绑定端口信息,设置监听,等待accept浏览器链接,得到新的套接字和浏览器ip地址与port,然后接收浏览器发送过来的请求信息,切割信息成为列表,正则表达式匹配列表中的第一个元素,获取文件名,后面就是根据文件名给浏览器返回文件。
用’xxx.py’后缀名去访问’假页面’时会出现上面显示的列表溢出有关列表溢出:list index out of range_第1张图片
但是如果访问的是真实的’html’页面,就不会出现问题
在这里插入图片描述
有关列表溢出:list index out of range_第2张图片
希望有大佬帮忙解决这个有关列表溢出问题,现在满脑袋都是:
list index out of range

感谢!!!

你可能感兴趣的:(笔记)