Забытые открытые файлы
Анти-паттерн
Чтобы быть уверенными, что файл точно закроется, лучше использовать контекстный менеджер with open(). Незакрытые файлы в python ведут к утечкам памяти, потере данных и непредсказуемому поведению программы.
Пример¶
Плохо:
def get_lesson(filepath):
file = open(filepath, 'r')
raw_lesson = file.read()
...
Хорошо:
def get_lesson(filepath):
with open(filepath, 'r') as file:
raw_lesson = file.read()
...