我在一个项目中,要求我在.txt中多次查找字符串间隔(从 display_url 到 display_resources )文件。 现在,我已经有了这样的代码,但是当我运行它时,它永不中断。
此代码的目标是:
感谢您的想法将大有帮助。
urls = []
g = open('tet.txt','r')
data=''.join(g.readlines())
count = 0
le1 = 1
le2 = 1
while count >= 0 :
dat = data.find('display_url', le1)
det = data.find('display_resources', le2)
if dat < le1:
le1 = le1 +dat
if det < le2:
le2 = lez +det
urls.append(le1)
urls.append(le2)
if dat <= 0 :
count = -1
break
print(urls)
答案 0 :(得分:0)
如果最初在字符串中包含'display_url'
和'display_resources'
,则您的三个if
语句永远不会被触发。您需要类似以下内容的东西,它在每个步骤中记录det和dat并从该点开始再次搜索。 while循环一直进行到两个if语句都失败。
le1 = 0
le2 = 0
still_looking = True
while still_looking:
still_looking = False
dat = data.find('display_url', le1)
det = data.find('display_resources', le2)
if dat >= le1:
urls.append(dat)
le1 = dat + 1
still_looking = True
if det >= le2:
urls.append(det)
le2 = det + 1
still_looking = True
与
data = "somestuffdisplay_url some more stuff display_resources even more stuff display_url lastly more stuff still, can you believe it?"
返回:
[9, 37, 71]