首页 > 解决方案 > 如何在python中反向遍历文件以查找字符串

问题描述

我正在尝试开发一个自动化脚本来通过反向遍历搜索文件中的字符串

假设考虑以下文件

public function anotherfunction(){

}
    public function SampleFunctionAction() {
1       
2   $sql='SELECT * FROM               
3                     SAMPLE_TABLE'
4       ...                           
10  }             

我将输入文件路径、搜索应该从哪里开始的行号以及需要在文件中找到的模式。例如,在这里我将行号作为3并将模式作为 公共函数
但是当我尝试使用下面的代码时,它是从文件的开头而不是从指定的行号执行搜索

def traverse():
    lines = []

    with open(r"filepath.php") as f:
        for i, line in enumerate(f):
            if line.startswith('3'):
                lines = []

            lines.append(line)
            if 'public function' in line:
                do_something(lines)
                break


def do_something(lines):
    print("I've got:")
    print(''.join(lines))

希望有人可以帮助我找到我的实现中缺少的东西以满足我的要求。

标签: python-3.xregexstringreversefile-search

解决方案


推荐阅读