7 ошибок в python-скриптах, из-за которых автоматизация ломается в самый неудобный момент
В скриптах чаще всего падает не логика, а обвязка. Ищите не «сложный баг», а слабое место в трёх зонах: ввод, среда, выход.
— Жёстко захардкоженные пути и URL. Скрипт запускается только на одном ноутбуке и молча умирает на сервере.
— Отсутствие проверок входных данных. Один пустой аргумент, и парсер уезжает в traceback вместо понятной ошибки.
— Слишком широкие except. Ошибка проглатывается, а потом вы чините «не работает» без следов, где именно сломалось.
Дальше идут проблемы, которые видно только после первой эксплуатации:
— нет таймаутов у HTTP-запросов и ожиданий файлов;
— запись результата неатомарная: процесс оборвался, файл остался битым;
— нет логов на границе шагов, поэтому непонятно, на каком этапе всё остановилось.
Хороший скрипт должен быть скучным: брать конфиг из переменных, валидировать вход, писать короткие логи и завершаться с предсказуемым кодом ошибки. Если скрипт живёт дольше одного запуска, сразу добавляйте retry, таймаут и безопасную запись в temp-файл с последующим rename.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
7 ошибок в python-скриптах, из-за которых автоматизация ломается в самый неудобный момент
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.