首页 > 解决方案 > 逐行读取文本文件并检查其中两行的子字符串

问题描述

我想读取一个文本文件并检查字符串

with open(my_file,'r') as f:
    for line in f:
        if 'text1' in line:
            f.next()
            if 'text2' in line:
                # do some processing

我想首先在行首找到文本'text1',然后如果找到我想检查下一行是否有'text2',如果找到,我会做一些其他处理。似乎 f.next() 没有移动到下一行。

标签: pythonpython-3.x

解决方案


使用 for 循环迭代并使用状态变量来确定您是否处于“test1”情况。这样您就不必处理单独的StopIteration异常。

text1_line = ""

with open(my_file) as f:
    for line in f:
        if text1_line and 'text2' in line:
            # do some processing
            text1_line = ""
            continue
        text1_line = line if 'text1' in line else ""

推荐阅读