繁体   English   中英

在python中的特定行之后提取行

[英]Extracting a line after a specific line in python

我有这个问题,我试图提取两条线A和B。但是如果B在A之后,我将提取那些线,否则,我想通过。 最初,我认为它们等于我使用下面的代码。 它实际上是较大代码的一部分,但这主要是问题所在。

def get_line(file_name, find_word1, find_word2):

    lines = []
    for line in file_name.strip().split('\n'):
        if find_word1 in line:
            lines.append(line)
        elif find_word2 in line:
            lines.append(line)
        else:
            pass
    return lines

例如find_word1Afind_word2B 从我的代码中,我知道我只能得到两行,但不能获得条件。 我不知道该怎么办。 如果可以的话请帮忙

def get_line(file_name, find_word1, find_word2):
    lines = []
    temp = ""

    for line in file_name.strip().split('\n'):
        if find_word1 in line and not temp:
            temp = line
        elif find_word2 in line and temp:
                lines.append(temp)
                lines.append(line)
                temp = ""
        else:
            pass

    return lines
def get_line(file_name, find_word1, find_word2):
    lines = []
    firstWord = False
    for line in file_name.strip().split('\n'):
        if find_word1 in line and not firstWord:
            firstWord = True
            temp = line
        elif find_word2 in line and firstWord:
            lines.append(temp)
            lines.append(line)
            firstWord = False
            temp = ""
    return lines

您需要对A进行初始检查,并且只有在找到A的情况下,您才关心B。否则B无关紧要。 这是通过检查A是否在该行中以及尚未找到来实现的。 一旦找到A,便可以使用布尔值来标记它是否已找到,并且从那时开始只查找B。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM