В аналитическом скрипте вы делаете f = open("out.csv", "w") и иногда забываете вызвать f.close(). Как лучше всего избежать таких ошибок и гарантировать закрытие файла?

AХранить f в глобальной переменной, чтобы он не потерялся
BСчитать, что ОС сама закроет файл сразу после f.write(...)
CОткрывать файл в режиме a, тогда закрывать не нужно
DИспользовать контекстный менеджер: with open("out.csv", "w", encoding="utf-8", newline="") as f:
Правильный ответ. Контекстный менеджер with гарантирует закрытие файла.

Разбор

Если открывать файл вручную, легко забыть f.close(), особенно если в середине кода есть исключения или ранние return. Лучший практический подход — использовать with open(...) as f, тогда закрытие файла гарантируется автоматически. Это важно и для корректного сброса данных на диск (flush), и для отсутствия блокировок файла при последующих чтениях/записях.

Проверь себя · 1/3разбор после ответа
Вы хотели дописать новые строки в существующий файл report.txt, но открыли его как open("report.txt", "w"). Что произойдёт?
Тренировать Python в Telegram

Ещё вопросы по теме «Работа с файлами: JSON и CSV»