文本处理:如果条件和循环在另一个循环内

时间:2016-04-07 06:03:27

标签: python text

我有一个文本文件。一旦模式匹配发生,我想打印线条,直到找到下一个模式。

for line in text:
    if pattern in line:
        if another_pattern in line:
             print all the lines until pattern_X is found.
             Continue with the execution from the next line

这应该对整个文本进行,即模式'pattern'和'another_pattern'将匹配多次。

1 个答案:

答案 0 :(得分:2)

您可以使用变量来跟踪您是否应该在应该打印的部分中。

在伪代码中,它可能看起来像:

needToPrint = False
for line in text:
  if needToPrint:
    print line
  if pattern in line:
    needToPrint = True
  if another_pattern in line:
    needToPrint = False

(但如果您要使用此代码段,请特别注意限制条件)