【发布时间】:2017-05-01 17:55:54
【问题描述】:
我有一个包含一些关键字的列表,我正在尝试解析一个文本文件,该文件包含重复分隔符之间的多个文本段。我正在尝试检查每个细分中是否存在关键字。如果存在任何关键字,那么我只想恢复那些包含关键字的段(分隔符之间)。
我的文本文件(ParseInput.txt)如下:
START
cow
sheep
apple
END
//
START
goat
orange
pear
END
//
START
peach
pineapple
watermelon
END
//
我有一个在文本文件中查找关键字的简短 python 脚本:
from sys import argv
script, ParseInput = argv
import re
animal = ['cow', 'sheep', 'python']
inputFile = open(ParseInput)
parseOutput = re.findall('START(.*?)END', inputFile.read(), re.S)
for result in parseOutput:
for i in animal:
if i in result:
print result
运行此脚本会导致以下输出:
cow
sheep
apple
cow
sheep
apple
问题是我只想要一个已恢复段的实例。我认为我的 for/if 循环是问题所在,但我不知道如何解决这个问题,如果有任何建议,我将不胜感激!
【问题讨论】: