Примите во внимание следующее:
with open(path, mode) as f: return [line for line in f if condition]
Будет ли файл закрыт правильно, или использование returnкаким-то образом обойдёт диспетчер контекста?
return