Bra*_*ers 2 python string file
我在日志文件中有测试结果,格式如下:
无用的信息
无用的信息
======================
有用的信息
有用的信息
======================
测试成功
每个部分中的行数可以变化,因此我想检查双重等号'=='的第一次出现,并将该行读取到文件末尾为字符串.目前我正在使用以下代码将整个文件读入字符串.
with open ("Report.txt", "r") as myfile:
data = myfile.read()
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
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)
所有过滤和挑剔都在生成器函数中完成,您可以将"过滤输入"的逻辑与"使用输入"的逻辑分开.