Быстрый Python. автоматизация рутинных задач за неделю
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Группа авторов. Быстрый Python. автоматизация рутинных задач за неделю
Вступление
Часть 1. Основы Python для автоматизации
Знакомство с Python и установка окружения
Устанавливаем Python
Первый разговор
Где писать код
Мысли перед дорогой
Переменные и типы данных
Коробки с разными отделениями
Как Python понимает, что в корзине
Превращения и волшебство
Условия и циклы
Если бы да кабы – учим компьютер выбирать
Белка в колесе, или сила повторений
Собираем пазл: условия внутри циклов
Функции
Как устроена функция
Функции, которые что-то возвращают
Зачем это нужно в автоматизации
Немного магии: аргументы по умолчанию
Работа с файлами и исключениями
Открытие и чтение: знакомство с содержимым
Запись и сохранение: оставляем след
Что-то пошло не так: встречаем исключения
Практика: безопасный копировщик
Часть 2. Автоматизация работы с файлами и данными
Поиск, копирование и перемещение файлов
Как компьютер ищет файлы
Копирование и перемещение: в чем разница
Собираем все воедино: практический сценарий
Чтение и запись в разные форматы
Текст – наше всё
Мир табличных данных
За гранью обычного: JSON и не только
Автоматическое переименование и сортировка
Ваш первый помощник – модуль os
Шаблоны и умная сортировка
Когда простой проверки недостаточно – мощь регулярных выражений
Собираем пазл – пишем универсальный скрипт-уборщик
Обработка текстовых файлов: логи, отчёты
Открываем файл и читаем построчно
Поиск по шаблону: когда простого слова недостаточно
Разбор и извлечение данных: превращаем текст в информацию
Создание своих отчётов
Работа с изображениями и PDF
Пакет PIL (Pillow): ваш цифровой фоторедактор
Манипуляции с PDF: склейка, разделение, водяные знаки
Извлечение текста и создание документов
Автоматическое резервное копирование
Почему вручную – это путь в никуда
Собираем наш парашют: планируем резервную копию
Библиотека-упаковщик: знакомимся с zipfile
Пишем скрипт-дублера
Добавляем расписание: когда парашют раскроется сам
Проверка и спокойный сон
Часть 3. Автоматизация повседневных задач
Управление процессами и программами
Как увидеть всех работников
Когда процесс вышел из-под контроля
Автоматизация на службе у системы
Автоматизация работы в браузере
Библиотека, которая оживляет браузер
Первые шаги: открой и закрой
Навигация и поиск элементов
Работа с формами и сложными сценариями
Человекоподобное поведение и этика
Отправка email и уведомлений
Как отправить первое письмо с помощью кода
Автоматическая рассылка и персонализация
Простые уведомления на рабочем столе
Создание планировщика задач
Как живёт планировщик без программирования
Библиотека времени и сна
Умный планировщик на проверке даты
Что можно поручить такому помощнику
От теории к практике: первый планировщик
Важные моменты и безопасность
Парсинг веб-страниц
Как устроена веб-страница изнутри
Первая вылазка: забираем заголовок
Идем глубже: собираем списки и таблицы
Вежливость и осторожность: правила игры
От скрипта к системе: планируем ежедневную проверку
Мониторинг системы и уведомления
Собираем информацию: что нужно мониторить
Пишем скрипт-сторожа
Отчет к делу: отправляем уведомления
Собираем все воедино и запускаем на автопилот
Часть 4. Инструменты и продвинутые сценарии
Библиотеки для автоматизации: os, shutil, pathlib
Библиотека os: ваш диспетчер в операционной системе
Библиотека shutil: силовой модуль для тяжёлых операций
Библиотека pathlib: элегантный и современный навигатор
Как жить с этим богатством
Регулярные выражения для продвинутой обработки
Что такое регулярное выражение и из чего оно состоит
Самые нужные строительные блоки
Как применять регулярки в Python
Практика: от хаоса к порядку
Создание исполняемых файлов
Что происходит под капотом
Инструмент номер один: PyInstaller
Когда что-то идет не так
Альтернативы и заключительные мысли
Автоматизация в облаке и на удалённых машинах
Что такое облако и зачем туда лезть
SSH – ваш пропуск в чужую машину
Облачные функции – автоматизация без сервера
Планировщики задач (Cron) в облаке
Безопасность – святое
Завершение пути
Отрывок из книги
Представьте, что вы приехали на большую стройку. Повсюду лежат материалы, стоят машины, но главного – мастера, который знает, что с этим всем делать, – нет. Компьютер без программы – это примерно такая же картина. Много возможностей, но они спят. Python – это тот самый мастер-прораб, который просыпается, когда вы ему звоните, и говорит: ‘Я понял, что нужно сделать, давайте начнем’. Наша задача сегодня – не просто позвать его, а познакомиться, пригласить в гости и обустроить ему рабочее место на вашем компьютере. Это и называется ‘установить окружение’.
Почему именно Python? Давайте без заумных фраз про ‘высокоуровневый’ и ‘интерпретируемый’. Представьте языки программирования как реальные языки. Некоторые – как латынь, очень точные и строгие, но говорить на них в быту неудобно. Другие – как сленг подростков, быстро меняются и не всем понятны. Python – это как разговорный, современный и при этом очень понятный язык. Он создавался с идеей, что код должен легко читаться, будто это рассказ или инструкция на обычном языке. В мире автоматизации это золотой стандарт, потому что часто скрипт пишется один раз, а читается и правится потом много раз. И когда вы через месяц посмотрите на свой код, вы с большой вероятностью поймете, что же вы там написали.
.....
Настоящая магия начинается, когда мы соединяем эти два инструмента вместе. Это как если бы наша воображаемая белка в колесе не просто бежала, а на каждом круге смотрела по сторонам и принимала решение. Типичная и очень мощная конструкция в автоматизации выглядит так: цикл for проходит по всем файлам в папке, и для каждого файла оператор if проверяет какое-то условие (например, размер больше 10 МБ или дата создания старше месяца). И в зависимости от результата файл либо удаляется, либо копируется, либо переименовывается.
Давайте представим конкретную историю. Допустим, есть человек, который каждый день скачивает кучу отчетов. Файлы называются хаотично: «отчет_01.pdf», «data_final.xlsx», «итого_пятница.docx» и так далее. Ему нужно оставить только Excel-таблицы, созданные на прошлой неделе, и переместить их в отдельную папку для анализа. Вручную – это открыть папку, глазами искать .xlsx, смотреть свойства каждого, сравнивать даты, перетаскивать. Скучно и долго. Наш скрипт же сделает это в мгновение ока. Алгоритм будет простым: взять список всех файлов, для каждого файла проверить – если его расширение .xlsx И его дата создания попадает в диапазон прошлой недели, то скопировать его в целевую папку. Всего несколько строк кода, в которых for, if и несколько проверок работают как один слаженный механизм.
.....