Python Web & Scripts — Django, FastAPI, скрипты
5 ошибок в Python-скриптах, из-за которых автоматизация ломается на ровном месте
Чаще всего скрипт падает не на сложной логике, а на бытовых вещах: путь к файлу захардкожен, формат входных данных «почти всегда» одинаковый, а исключения ловятся одним общим except.
— Не проверяют вход: пустой CSV, битый JSON, отсутствующий столбец, неожиданный None
— Пишут в файл без атомарной записи: процесс прервался, и рабочий файл уже испорчен
— Смешивают логику и I/O: потом невозможно нормально тестировать и переиспользовать код
Для скриптов, которые крутятся по cron, важно не только «запустилось», но и «понятно, почему не запустилось». Нужны явные коды выхода, нормальный лог на stderr/stdout и отдельная обработка сетевых ошибок, таймаутов и повторных попыток.
Ещё один частый провал — отсутствие idempotency. Если скрипт можно запустить дважды, он не должен удваивать записи, пересылать одно и то же письмо или перетирать уже обработанные данные. Для этого держат маркеры состояния, дедупликацию и проверку перед записью.
Если коротко: любой Python-скрипт для продакшена должен переживать грязный ввод, повторный запуск и частичный сбой. Тогда автоматизация перестаёт быть «магией» и становится инструментом, который можно поддерживать годами.
2 ·