我已经阅读了这段代码,用于通过字符串方法从网站中提取数据:
def extract_results(data)
start_index= data.find("<p>")
while -1 != start_index:
end_index = data.find("</p>", start_index)
while 循环在做什么?为什么将 start_index 与 -1 进行比较?
str.find()
如果未找到文本,则返回值为-1:
str.find(sub[, start[, end]])
返回找到子字符串sub的字符串中的最低索引,使得sub包含在 slice 中s[start:end]
。可选参数start和end被解释为切片表示法。如果未找到sub ,则返回 -1 。
该while
循环有效地使代码进入无限循环,如果start_index
不是-1
并且没有用,除非在您与我们共享的代码段后面有更多代码。
大概有类似return data[start_index + 3:end_index]
下一行的东西,在这种情况下,使用if start_index > -1:
而不是while
语句会更具可读性。
当然,它可能会start_index
再次设置得更低。