我想创建一个程序,读取文本文件并搜索短语“CategreeAnimali” 然后当它找到它时,我希望它搜索“乌切洛”和“安非比奥”,当它找到“安非比奥”时,我希望它继续阅读下一个“分类动物”的文件 以下是文本文件:
CATEGORIA ANIMALI
MAMMIFERO
PESCE
UCCELLO = tucano
ANFIBIO = rana
RETTILE
CATEGORIA ANIMALI
MAMMIFERO
PESCE
UCCELLO = gru
ANFIBIO = rospo
RETTILE
CATEGORIA ANIMALI
MAMMIFERO
PESCE
UCCELLO = gru
ANFIBIO = rana
RETTILE
这是代码
file = open('testfile.txt', 'r')
search_phrase1 = "CATEGORIA ANIMALI"
search_phrase2 = "UCCELLO"
search_phrase3 = "ANFIBIO"
markerInd1 = 0
markerInd2 = 0
markerInd3 = 0
reserveMarker = 0
for line in file.readlines():
reserveMarker += 1
if line.find(search_phrase1) >= 0:
markerInd1 += 1
print(line)
for line in file.readlines():
if line.find(search_phrase2) >= 0:
markerInd2 += 1
print(line)
elif line.find(search_phrase3) >= 0:
markerInd3 += 1
print(line)
break
print(markerInd1)
print(markerInd2)
print(markerInd3)
print(reserveMarker)
我希望获得的产出:
CATEGORIE ANIMALI
UCCELLO = tucano
ANFIBIO = rana
CATEGORIE ANIMALI
UCCELLO = gru
ANFIBIO = rospo
CATEGORIE ANIMALI
UCCELLO = gru
ANFIBIO = rana
3
3
3
19
它真正的样子:
CATEGORIE ANIMALI
CATEGORIE ANIMALI
CATEGORIE ANIMALI
3
0
0
19
我将使用
with open
而不是open
,以便文件正确关闭。您也不需要第二个for
循环。我想这就是你的问题所在。那和break
需要被移除。参见下面的示例结果:
相关问题 更多 >
编程相关推荐