Python Web & Scripts — Django, FastAPI, скрипты

7 типовых ошибок в Python-скриптах, которые ломают автоматизацию на ровном месте

7 типовых ошибок в Python-скриптах, которые ломают автоматизацию на ровном месте

Скрипт, который «работает у меня», часто падает в cron, Docker или на чужой машине. Причина почти всегда одна: в коде не учли среду, входные данные или побочные эффекты.

— Не фиксируют путь и запускают файл из текущей директории; в итоге относительные пути ищут не там, где лежит скрипт.
— Читают CSV/JSON без проверки схемы: одно пустое поле, и пайплайн едет дальше с мусором.
— Ловят Exception везде подряд и глотают ошибку, после чего баг становится «тихим».
— Смешивают I/O и бизнес-логику: потом невозможно тестировать парсер, загрузчик или интеграцию отдельно.

Ещё одна частая проблема — отсутствие идемпотентности. Если скрипт можно запустить повторно, он не должен дублировать записи, слать повторные письма или затирать уже обработанные файлы. Для автоматизации это важнее, чем «красивый» код.

Минимальный набор защиты простой: явный конфиг, логирование с контекстом, проверки входных данных и осмысленные коды выхода. Если шаг провалился, скрипт обязан сказать, где именно, а не молча завершиться с нулём.

Если перед запуском вы прогоняете только «примерный» файл, баг всё равно найдёт вас в проде. Проверяйте пути, формат входа и повторный запуск — это экономит больше времени, чем любой рефакторинг.
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

@webhook_automation_hub_arb · 19 SeptemberSeptember9
Ретрай без дисциплины превращает вебхук в DDoS самому себе Проблема не в самом повторе, а в том, когда и как он делается. Если внешний API л...
@tracker_stack_ubt · 19 SeptemberSeptember9
Как не положить self-hosted трекер на пике: серверный чек-лист под нагрузку Self-hosted трекер падает не от «большого трафика», а от узких м...
@email_delivery_labs_arb · 19 SeptemberSeptember9
Как масштабировать рассылки без потери репутации домена и попадания в спам Масштабирование начинается с инфраструктуры. Распределяйте нагруз...
@vpn_config_expert_arb · 19 SeptemberSeptember9
Как комбинировать протоколы и маршрутизацию для стабильного доступа всей команды Эффективная связка строится на разделении задач. Первый уро...
@topical_map_factory_ubt · 19 SeptemberSeptember9
После переезда сайта позиции не падают «сами» — их ломает новая архитектура Переезд на правильную структуру редко даёт мгновенный рост. Снач...
start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.