Я думаю, что вам нужно сделать с помощью простой проверки. Позвольте мне объяснить, правильно ли я понял. Вы можете иметь флаг (True / False value), чтобы определить, находитесь ли вы в интересном блоке или нет. Всякий раз, когда вы найдете «### PERFORMANCE», вы можете изменить этот флаг. Затем вы можете просто сохранить два блока в двух списках или в любой структуре, которую вы предпочитаете.
Ниже приведен фрагмент кода
logFile = "logfile.txt"
with open(logFile) as f:
content = f.readlines()
# you may also want to remove whitespace characters like `\n` at the end of each line
content = [x.strip() for x in content]
# flag
are_we_in_the_interesting_block = False;
# two lists to save the liens
interesting_block = [];
non_interesting_block = [];
for line in content:
# check if there is the text ###PERFORMANCE
is_there_performance = line.find('###PERFORMANCE');
# if it's not there, it returns -1
if is_there_performance > 0:
are_we_in_the_interesting_block = not are_we_in_the_interesting_block;
else:
if are_we_in_the_interesting_block:
# here I append to a list, but you can do your processing
interesting_block.append(line);
else:
# here processing of the non interesting parts
non_interesting_block.append(line);
print('Interesting blocks')
print(interesting_block)
print('\n')
print('Non interesting blocks')
print(non_interesting_block)
И произведенная продукция будет
Interesting blocks
['20190122 09:10,500 number1 string1 string2 string3', '20190122 09:24,670 number2 string1 string2 string3', '20190122 10:05,000 number3 string1 string2 string3', '20190122 10:33,960 number4 string1 string2 string3', '20190122 11:00,321 number5 string1 string2 string3', '20190123 08:10,500 number1 string1 string2 string3', '20190123 08:24,670 number2 string1 string2 string3', '20190123 09:05,000 number3 string1 string2 string3', '20190123 10:33,960 number4 string1 string2 string3', '20190123 10:00,321 number5 string1 string2 string3', '20190124 10:10,500 number1 string1 string2 string3', '20190124 10:24,670 number2 string1 string2 string3', '20190124 11:05,000 number3 string1 string2 string3', '20190124 12:33,960 number4 string1 string2 string3', '20190124 13:00,321 number5 string1 string2 string3']
Non interesting blocks
['20190123 10:24,670 number1 string1 string2 string3 string4 date1 number2', '20190123 10:32,130 number1 string1 string2 string3 string4 date1 number2']
Тогда вы можете получить доступ к interesting_block[n]
, чтобы получить n-ые строки, если это необходимо ..