10 скриптов на Python: как я за вечер выкинул рутину из своей работы

Alex.Morozov

New member
Привет, форумчане. Хочу рассказать про опыт, который за пару месяцев изменил мои рабочие дни сильнее, чем любая новая программа: я сел как-то вечером за Python и написал десять небольших скриптов. Никаких тяжёлых фреймворков и магии, обычные функции на 20–50 строк. Наутро я впервые за долгое время не переименовывал файлы вручную и понял, что нашёл рабочий рецепт, которым стоит поделиться.

Начал я с самого болезненного — папки «Загрузки». Первый скрипт раскладывает файлы по типам, убирает дубликаты по хешу и переименовывает по шаблону дата, проект, версия. Второй разбирает фотографии по датам съёмки из EXIF и складывает по папкам с месяцами. Звучит как мелочь, но у меня освободилось минут двадцать каждый день, а это уже полноценный час в неделю.

Дальше пошли таблицы. Третий скрипт собирает один сводный отчёт из пяти ежемесячных выгрузок, приводит даты к единому формату, считает итоги и сохраняет результат. Четвёртый сам заполняет шаблон и рассылает письма по списку контактов, подставляя имя и цифры отчёта. Раньше это была монотонная копипаста, в которой я стабильно раз в месяц ошибался в одной из ячеек.

Пятый и шестой скрипты закрыли внешние задачи: один раз в день проверяет страницы с ценами и уведомляет меня, если что-то изменилось, второй качает свежие публикации с интересных мне площадок и складывает их в читаемый список. Седьмой следит за сроками задач и раз в сутки присылает короткую сводку о том, что горит. Это те самые вещи, которые я раньше держал в голове и потому забывал.

Восьмой скрипт наводит порядок в счёте за сервер: собирает статистику, считает расходы и показывает, где я плачу за то, чем не пользуюсь. Девятый делает резервные копии важных папок и отправляет архив в облако. Десятый, мой любимый, конвертирует документы в PDF, ставит водяные знаки и жмёт картинки до разумного размера перед отправкой клиентам. Ни один из них не занял у меня больше сорока минут работы.

Отдельно скажу про запуск, потому что именно здесь многие бросают. Я не стал городить сложное расписание внутри кода, а просто поставил систему задач: часть скриптов идёт ночью, часть по триггеру при входе в систему. Все настройки вынес в отдельный файл, ошибки пишу в лог, иначе через неделю не вспомнишь, почему упало. И да, каждый скрипт я делал так, чтобы он запускался одной командой и ничего не спрашивал у меня в процессе.

Что советую вам. Не пытайтесь написать всё сразу и идеально. Возьмите лист бумаги, за неделю выпишите десять повторяющихся действий, которые вас раздражают, и выберите самое частое. Автоматизируйте его сегодня, а следующий — через день. Используйте готовые библиотеки, не изобретайте парсер CSV или работу с датами вручную. И обязательно оставляйте скрипт в состоянии «понятно через полгода», иначе вместо экономии времени получите ещё один проект на поддержку.

Через месяц у меня накопился личный набор инструментов, который работает без моего участия, и я honestly не верю, что раньше жил иначе. Экономия не в минутах, а во внимании: голова освобождается под задачи, где реально нужен человек. А теперь вопрос к вам, форумчане: какой кусок своей рутины вы автоматизировали бы первым, если бы у вас был свободный вечер и желание написать пару десятков строк на Python?
 
Назад
Вверх