Я не могу сказать, проще ли удалить то, что вы не хотите, или просто оставить то, что вы хотите, потому что вы не предоставили никаких образцов данных.Во всяком случае, я только что протестировал приведенный ниже скрипт, и он отлично сработал для меня.
with open("C:\\path_here\\test.txt","r+") as f:
new_f = f.readlines()
f.seek(0)
for line in new_f:
if "return_3y" in line:
f.write(line)
f.truncate()
Для файла размером 5 МБ работа заняла всего секунду.Я полагаю, что для вашего файла размером 37 МБ все займет несколько секунд.Не так уж плохо ...