7 ошибок в python-скриптах, из-за которых автоматизация ломается в самый неудобный момент
Скрипт, который «всегда работает», обычно просто ещё не получил плохой вход. В репозиториях чаще всего всплывают одни и те же проблемы:
— жёстко прошитые пути, логины, токены и URL;
— отсутствие проверок на пустой ответ и неожиданный формат;
— падение на первом же исключении без повторной попытки;
— запись результата прямо поверх исходных данных;
— отсутствие понятных логов, из-за чего непонятно, где всё сломалось.
Если скрипт ходит в сеть, добавляйте таймауты, ретраи и явную обработку 4xx/5xx. Если читает файлы — валидируйте кодировку, схему и наличие нужных колонок до основной логики. Если запускается по cron или из CI, вывод должен быть коротким, но достаточным: что обработали, сколько пропустили, на каком шаге упали.
Ещё одна типовая ловушка — смешивать бизнес-логику, I/O и форматирование отчёта в одной функции. Потом такой код невозможно тестировать и трудно переиспользовать. Разделяйте: отдельный модуль для получения данных, отдельный для обработки, отдельный для вывода. Тогда смена источника не тянет за собой переписывание всего скрипта.
Хороший скрипт не тот, который «мало кода», а тот, который переживает грязные данные и даёт понятную точку отказа.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
7 ошибок в python-скриптах, из-за которых автоматизация ломается в самый неудобный момент
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.