Учебник Автоматизация рутины на Python для начинающих
Практический курс о том, как перестать делать руками то, что за вас сделает Python. Вы научитесь автоматизировать работу с файлами и папками, считать и оформлять таблицы Excel и CSV, извлекать данные из PDF и генерировать документы Word, рассылать письма с отчётами и забирать данные из интернета, а в финале — собирать всё это в надёжный проект, который запускается по расписанию сам.
Каждый урок — это объяснение «как работает под капотом», разбор частых ошибок, best practices и запускаемые прямо в браузере примеры на стандартной библиотеке Python.
Курс «Автоматизация рутины на Python» состоит из 6 разделов и 22 уроков: Зачем автоматизировать и основы, Файлы и папки, Таблицы: Excel и CSV, Текст, PDF и Word, Email и веб-данные и Расписание и сборка скриптов. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Зачем автоматизировать и основы
- Зачем автоматизировать рутину
Когда стоит автоматизировать скучную задачу на Python, как считать выгоду и где проходит граница разумного.
- Окружение: запуск скриптов и виртуальные среды
Как устроен запуск Python-скриптов, зачем нужно виртуальное окружение venv и как ставить библиотеки через pip.
- Мышление пайплайнами: вход — обработка — выход
Как раскладывать любую задачу автоматизации на три блока, проектировать поток данных и собирать скрипт из функций.
- Зачем автоматизировать рутину
2 Файлы и папки
- pathlib: современная работа с путями
Почему pathlib пришёл на смену os.path, как собирать пути через слеш и разбирать имя, расширение и родителя файла.
- Обход папок и поиск файлов по маске
Как перебрать все файлы в папке и подпапках через glob и rglob, фильтровать по расширению и собирать список для обработки.
- Массовое переименование и сортировка файлов
Как безопасно строить новые имена файлов, раскладывать их по папкам и применять os/shutil для переименования и перемещения.
- Резервные копии и архивы
Как делать безопасные бэкапы перед изменениями, добавлять метку времени к имени и упаковывать папки в zip-архивы.
- pathlib: современная работа с путями
3 Таблицы: Excel и CSV
- Модуль csv: чтение и запись таблиц без библиотек
Как читать и писать CSV встроенным модулем csv, работать со словарями строк через DictReader и не спотыкаться о запятые внутри значений.
- pandas: таблицы как DataFrame
Что такое DataFrame, как загружать CSV и Excel в pandas, фильтровать строки и считать агрегаты группировкой.
- openpyxl: чтение и запись Excel-файлов
Как открывать книги Excel, читать и писать ячейки, добавлять формулы и форматирование через библиотеку openpyxl.
- Сборка отчёта: из данных в готовую таблицу
Как собрать полный пайплайн отчёта: прочитать данные, посчитать агрегаты и сводку, отформатировать и выгрузить результат.
- Модуль csv: чтение и запись таблиц без библиотек
4 Текст, PDF и Word
- Текст и регулярные выражения для извлечения данных
Как искать и извлекать данные из текста модулем re: шаблоны, группы, поиск телефонов, дат и сумм в неструктурированном тексте.
- Чтение и извлечение текста из PDF
Как открывать PDF библиотекой pypdf, доставать текст постранично, читать метаданные и понимать ограничения извлечения.
- Объединение, разбивка и сборка PDF
Как собирать новые PDF из страниц: объединять файлы, извлекать диапазоны страниц и поворачивать их через PdfWriter.
- Генерация документов Word через python-docx
Как создавать .docx из Python: заголовки, абзацы, таблицы и заполнение шаблонов договоров и писем библиотекой python-docx.
- Текст и регулярные выражения для извлечения данных
5 Email и веб-данные
- Отправка email из Python через smtplib
Как отправлять письма программно: модули smtplib и email, настройка SMTP, безопасное хранение пароля и тело письма.
- Вложения и массовая рассылка писем
Как прикреплять файлы к письму, формировать персональные письма по шаблону и аккуратно делать массовую рассылку без спама.
- Получение данных из интернета: requests и API
Как забирать данные с веб-страниц и API библиотекой requests, разбирать JSON-ответы и аккуратно обращаться к внешним сервисам.
- Отправка email из Python через smtplib
6 Расписание и сборка скриптов
- Работа с датами и временем
Как считать даты, разницу между ними и форматировать время модулем datetime для расписаний, отчётов и фильтров по дате.
- Запуск по расписанию: schedule и cron
Как запускать скрипты автоматически: библиотека schedule для понятных правил и системный cron для надёжного фонового выполнения.
- Логирование и обработка ошибок
Как делать автоматизацию надёжной: модуль logging вместо print, обработка исключений через try/except и понятные сообщения об ошибках.
- Финальный проект: ежедневный автоматический отчёт
Как собрать все навыки курса в один проект: прочитать данные, посчитать отчёт, оформить, разослать и запустить по расписанию с логами.
- Работа с датами и временем