如何在不知道行号的情况下将文件读取到从给定单词开始的字符串?

Bra*_*ers 2 python string file

我在日志文件中有测试结果,格式如下:

无用的信息

无用的信息

======================

有用的信息

有用的信息

======================

测试成功

每个部分中的行数可以变化,因此我想检查双重等号'=='的第一次出现,并将该行读取到文件末尾为字符串.目前我正在使用以下代码将整个文件读入字符串.

with open ("Report.txt", "r") as myfile:
    data = myfile.read()
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

Lau*_*low 5

useful = []
with open ("Report.txt", "r") as myfile:
    for line in myfile:
        if "===" in line:
            break
    for line in myfile:
        useful.append(line)
a_string = "".join(useful)
Run Code Online (Sandbox Code Playgroud)

但是我宁愿把它藏在发电机里,像这样:

def report_iterator():
    with open ("Report.txt", "r") as myfile:
        for line in myfile:
            if "===" in line:
                break
        for line in myfile:
            yield line

for line in report_iterator():
    # do stuff with line
Run Code Online (Sandbox Code Playgroud)

所有过滤和挑剔都在生成器函数中完成,您可以将"过滤输入"的逻辑与"使用输入"的逻辑分开.