Книга автоматизация рутинных задач с помощью python практическое руководство для начинающих

#статьи

  • 20 окт 2020

  • 11

Эта книга поможет освоить Python. А если повезёт, раз и навсегда покончить с рутиной.

 vlada_maestro / shutterstock

Цокто Жигмытов

Кандидат философских наук, специалист по математическому моделированию. Пишет про Data Science, AI и программирование на Python.

Эта книга по Python отличается от других руководств для новичков тем, что автор не просто разбирает примеры кода, а предлагает сразу начать писать программы, которые делают реально полезные вещи. Например, собирают для вас данные в интернете или обрабатывают изображения.

Подробно объясняется каждый шаг, и есть много информации для “чайников”: как установить, что сделать и где спросить, если что-то не работает. Объём материала почти 600 страниц, освоение займёт приблизительно 35–40 часов.

Это не учебник для будущих кодеров, которые планируют заниматься коммерческим программированием, а руководство по решению конкретных задач и автоматизации рутины. Поэтому в примерах кода есть отступления от правил и best practice в пользу понятности и простоты.

Книга полезна тем, кто:

  • хочет облегчить себе жизнь с помощью Python;
  • не имеет опыта в программировании.

Что понадобится для работы:

  • Компьютер с интернетом.
  • Школьные знания арифметики.
  • Умение пользоваться поиском, скачивать и устанавливать программы.
  • Упорство и вдохновение (шутка — упорства хватит за глаза).

Что в итоге получит читатель:

  • Знание базового Python.
  • Несколько программ для портфолио.
  • Понимание, нравится ли вам программировать.
  • Уважение коллег и домочадцев.
  • Вы увидите профессию целиком. Книга предназначена для непрограммистов, но проведёт читателя по настоящему пайплайну разработчика: постановка задачи → поиск решения → написание кода → запуск. Именно так, в общих чертах, работает вся индустрия разработки софта.
  • Вы ощутите себя программистом. Русский перевод сделан с издания 2016 года, поэтому некоторые ссылки уже не работают. Ответы на часть вопросов придётся искать самостоятельно, как настоящему программисту.
  • В книге есть контрольные вопросы. Если вам понравится программировать, они помогут закрепить знания. И вполне вероятно, что попадутся на собеседовании — эйчары не всегда выдумывают их сами. Как в школе: “Решайте обязательно, это будет на контрольной”.

Кстати, ответы на вопросы тоже есть — в конце книги, как и полагается. (Приложение В).

Заведите тетрадку, документ на компьютере или в облаке — для конспекта. Когда будете вспоминать что-то из материала книги, старайтесь опираться именно на него.

Прежде чем начать работать:

  • Посмотрите оглавления. Их два: краткое и подробное. Краткое даст полную карту книги, а по подробному удобно искать конкретную тему или вопрос.
  • Отметьте заинтересовавшие вас главы. Любопытно ведь, как автор предлагает решить важную для вас задачу. Например, отправку sms и email, работу с Excel или что-то ещё.
  • Прочитайте введение, оно прекрасно: “Эта книга предназначена не для них (высокооплачиваемых программистов). Она предназначена для всех остальных”.
  • Пролистайте отмеченные главы, а также приложения А и Б — про установку модулей и запуск программ.

Приложение В (ответы на вопросы) смотреть нельзя — ни под каким предлогом! Мы вас предупредили.

Не старайтесь сразу глубоко вникать в материал. Инструкции по установке тоже пока что выполнять не надо. Цель первого этапа — присмотреться, войти в процесс постепенно, понять тон и темп книги. После этого можно начинать работу.

Чтобы понять, годится ли вам эта книга, рассмотрим подробнее восьмую главу, которая называется “Чтение и запись файлов”.

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

Книга написана в 2016 году, поэтому автор приводит примеры для Windows 7 и Python 3.4. У меня всё прекрасно работало и на более свежих версиях системы и интерпретатора.

Глава начинается с рассказа про модули os и os.path, обратную косую черту, создание новых папок и учит определять размеры файлов и содержимое папок с помощью os.listdir ():

>>> import os
>>> os.listdir('C:\Users')
['All Users', 'Default', 'Default User', 'Default.migrated', 'desktop.ini', 'Public', 'tsokto', 'Все пользователи']

Дальше — чуть сложнее. Теперь нам предстоит с помощью функции “красивой печати” pprint.pformat () создать свои собственные модули, которые можно будет вызывать командой import.

Но это было только вступление, а теперь мы готовы кодить проект.

Представьте, что вы — преподаватель, которому нужно провести контрольную на знание столиц штатов в США. Билеты должны быть составлены так, чтобы вопросы в них располагались в случайном порядке. По идее, это помешает списывать.

Решаем задачу с помощью Python. Список будущих фич немного пугает: требуется создать и 35 билетов, и 50 вопросов со множественным выбором для каждого билета. Вместе с правильным ответом нужно дать три случайных неправильных и записать это всё в 35 текстовых файлов. А ещё ключи ответов, которые тоже будут в отдельных файлах.

Но оказывается, нам вполне по силам:

  • сохранять названия штатов в словаре — умеем;
  • вызывать методы open (), write (), close () для текстовых файлов — без проблем;
  • использовать функцию random.shuffle () — тоже не бином Ньютона;
  • записывать содержимое в файлы — легко!

Итак, за четыре шага мы напишем программу, которая всё это может делать.

Что ещё нас ждёт в этой главе:

  • работа с многоразрядным буфером;
  • поиск с помощью regexp (регулярных выражений);
  • создание программы Mad Lib, которая читает текстовые файлы и позволяет добавлять произвольный текст в нужные места (например, в тесты по грамматике).

В итоге, чтобы выполнить последние два задания, нам потребуются все полученные в главе знания. А ещё будет нужно ответить на контрольные вопросы — они есть после каждой главы.

Книга есть в “Лабиринте” и на “Алибе”. Если не торопитесь, можно дождаться выхода осенью этого года второго издания на русском языке. Чтобы не пропустить момент, подпишитесь на новости издательства. Как вариант, если скоро день рождения, намекните друзьям, чтобы они подарили вам книгу.

Если что-то всё-таки не взлетело: просто запишитесь на наш курс Python-разработчик и станьте востребованным профессионалом. А книгу потом можно будет передарить, разыграть или даже продать на аукционе с вашим автографом — потому что мы в вас верим!

Укажите регион, чтобы мы точнее рассчитали условия доставки

Начните вводить название города, страны, индекс, а мы подскажем

Например: 
Москва,
Санкт-Петербург,
Новосибирск,
Екатеринбург,
Нижний Новгород,
Краснодар,
Челябинск,
Кемерово,
Тюмень,
Красноярск,
Казань,
Пермь,
Ростов-на-Дону,
Самара,
Омск

Название книги: Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих 
Год: 2017 
Автор: Эл Свейгарт
Страниц: 573
Язык: Русский
Формат: pdf, rtf, epub, fb2
Размер: 19.9 Мб

Если вам когда-либо приходилось тратить часы на переименование файлов или обновление сотен ячеек электронных таблиц, то вы знаете, что такое рутинная работа. А что если поручить компьютеру выполнять такую работу вместо вас?

Книга “Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих” научит вас тому, как использовать Python для написания программ, способных в считанные минуты сделать то, на что раньше у вас уходили часы работы вручную.

Как только вы овладеете основами программирования, вы сможете создавать на языке Python программы, которые будут без труда выполнять в автоматическом режиме такие задачи, как:

– поиск определенного текста в файле или во множестве файлов;
– создание, обновление, перемещение и переименование файлов и папок;
– выполнение поиска и загрузка содержимого из Интернета;
– обновление и форматирование данных в электронных таблицах Excel любого размера;
– разбиение, слияние, разметка водяными знаками и шифрование PDF-документов;
– рассылка напоминаний в виде сообщений электронной почты или текстовых уведомлений;
– заполнение форм в режиме онлайн.

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

Не тратьте свое драгоценное время на выполнение чисто механической работы.

Даже если вы не написали за всю свою жизнь ни одной строки кода, вы вполне сможете заставить компьютер делать вместо вас всю грязную работу. Эту цель и преследует данная книга.

Оглавление:

Введение

Часть I. Основы программирования на языке Python

  1. Основные понятия языка Python
  2. Поток управления
  3. Функции
  4. Списки
  5. Словари и структурирование данных
  6. Манипулирование строками

Часть II. Автоматизация задач

  1. Поиск по шаблону с помощью регулярных выражений
  2. Чтение и запись файлов
  3. Управление файлами
  4. Отладка
  5. Автоматический сбор данных в Интернете
  6. Работа с электронными таблицами Excel
  7. Работа с документами в форматах PDF и Word
  8. Работа с CSV-файлами и данными в формате JSON
  9. Обработка значений даты и времени, планировщик заданий и запуск программ
  10. Отправка сообщений электронной почты и текстовых сообщений
  11. Работа с изображениями
  12. Управление клавиатурой и мышью с помощью средств автоматизации графического интерфейса пользователя

Приложение А. Установка модулей сторонних разработчиков

Приложение Б. Запуск программ

Приложение В. Ответы на контрольные вопросы

Предметный указатель

Скачать книгу “Автоматизация рутинных задач с помощью Python: практическое руководство для начинающих”

Читать книгу «Автоматизация рутинных задач с помощью Python» онлайн



 Вернуться

Автор: Свейгарт Эл
Дата выхода: 2021
Издательство: Компьютерное издательство «Диалектика»
Количество страниц: 674

 Скачать

 В наши дни трудно найти сферу человеческой деятельности, в которой не использовалось бы программное обеспечение. Все мы общаемся в социальных сетях, наши смартфоны — это по сути компьютеры, подключенные к Интернету, а в офисах у всех установлены компьютеры. Как следствие, это привело к стремительному росту спроса на программистов. Бесчисленные книги по программированию, вебинары, семинары для разработчиков — все они обещают превратить амбициозных новичков в компьютерных инженеров, заработная плата которых выражается шестизначными числами.

 Это книга не для них. Она предназначена для всех остальных.

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

  • перемещение и переименование тысяч файлов и их сортировка по папкам;
  • заполнение веб-форм без ввода данных вручную; Введение 27
  • загрузка файлов или копирование текста с веб-сайта при его обновлении;
  • отправка компьютером заранее подготовленных уведомлений;
  • обновление и форматирование электронных таблиц Excel;
  • проверка электронной почты и рассылка заранее подготовленных писем.

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

Если вам понравилась эта книга поделитесь ею с друзьями, тем самым вы помогаете нам
развиваться и добавлять всё больше интересных и нужным вам книг!

Краткая рецензия

Книга для новичков в Python, которые хотят не только научиться программировать, но и использовать питон для решения и автоматизации повседневных задач.

В первой части книги вы познакомитесь с синтаксисом и базовыми конструкциями Python, а во второй изучите различные библиотеки, которые упрощают разработку и дополняют ваши программы.

Во второй части разбирается работа с файлами, регулярные выражения, парсинг сайтов, обработка Excel-файлов, создание docx и pdf документов, взаимодействие с Google таблицами, а также отправка email-сообщений и работа с изображениями.

Полная рецензия

Продолжаем обзор литературы по питону и сегодня книга, про которую вы спрашиваете чаще всего — «Автоматизация рутинных задач с помощью Python». Второе издание за авторством Эла Свейгарта — профессионального разработчика и преподавателя.

Для кого эта книга

И первое, что вам нужно знать про эту книгу — она не для тех, кто хочет стать профессиональным программистом на питоне. Это книга для тех, кто хочет программировать на Python на любительском уровне. Кому язык нужен здесь и сейчас для решения самых разных небольших прикладных задач.

И это накладывает некоторые ограничения на темы, которые тут разбираются, или наоборот, не разбираются. Так здесь вы не найдете информацию про ООП, списковые включения или генераторы. Обычно, за отсутствие ООП, я сразу снимаю с книги балл, но исходя из того, что Эл Свейгарт сразу об этом предупреждает и четко определяет целевую аудиторию книги, тут я снижать балы не буду.

Кстати, о целевой аудитории, скажу пару слов о том, чем любители отличаются от профессионалов. И я глубоко убежден, что профессиональные программисты — это программисты, которые написанием программ зарабатывают себе на жизнь, не важно 40 тысяч в месяц или 400. Главное, что это их кормит. Все остальные это любители.

Обратите внимание, что я ничего не говорю про качество написания кода.

Теоретически любитель может лучше знать язык и лучше уметь программировать чем профессионал. Однако он программирует не каждый день по 8 часов, а лишь изредка и для себя. Возможно он работает над каким-то небольшим собственным проектом или использует Python для упрощения и автоматизации каких-то своих текущих рабочих задач.

И вот данная книга как раз про это. И я вам могу точно сказать, что для написания таких скриптов не нужно знать ООП. Достаточно базового уровня программирования, знания библиотек, немного усидчивости, смекалки, природного любопытства и умения пользоваться интернетом.

Вводную закончил, теперь давайте ближе к содержанию. И наша книга состоит из двух частей.

Введение в программирование на Python

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

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

Объяснение приоритета операций

Схема с объяснением приоритета операций.

Единственное, в какой-то момент я встретил имена переменных в нотации lowerCamelCase. Обычно, за такую запись имён, я снимаю баллы. Но тут мне стало интересно как автор будет выкручиваться. Ведь он позиционирует себя как программист на Python, а не на С# или JavaScript.

Пример нотации lowerCamelCase

Пример нотации lowerCamelCase

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

А вот за пробелы в строках внутри функции print() всё же немного снижу. Хотя, как вы хорошо знаете, лишние пробелы на работу программы не влияют.

Пробелы в функции print()

Пробелы в функции print()

При этом схема последовательного преобразования типов данных выглядит очень хорошо, как и блок схемы для инструкции if else. Чем-то это похоже на Тони Гэддиса или Эрика Фримена. Такие блок схемы всегда помогают лучше и быстрее понять, то как работают условия.

Последовательное преобразование типов данных

Последовательное преобразование типов данных

После условий мы логично переходим к циклу while, который также представлен блок-схемой и не одной. Разумеется к каждой такой иллюстрации есть код на Python с подробными построчными описаниями.

Блок схема для цикла while

Блок схема для цикла while

После while мы знакомимся с for, а также с импортом встроенных библиотек, что для данной книги важно, ведь мы читаем её чтобы писать небольшие полезные программы, а они практически всегда основаны на использовании различных пакетов и библиотек, встроенных или внешних.

Хотя одна из первых программ, которую приводит Эл Свейгарт — это «камень, ножницы, бумага», что не сильно практично. Но зато в ней есть циклы, условия, а также работа с модулем random. Да и в целом, пока мы находимся в разделе про сам язык, поэтому ожидать тут какой-то пользы с точки зрения решения реальных задач еще рано.

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

Пример контрольных вопросов

Пример контрольных вопросов

Правда я не нашел финальных исходников к этим проектам, однако нашел кое-что другое. Во-первых, вы можете бесплатно почитать эту книгу на английском языке прямо на сайте автора. Да, даже не смотря на то, данная бумажная книга уже была продана тиражом в 500 000 экземпляров, она еще и бесплатно доступна онлайн на сайте автора. Там же вы можете почитать и другие книги Эла Свейгарта.

А еще на Udemy вы можете пройти официальный курс по данной книге. Курс платный и, разумеется, на английском. Но всё-равно, это круто. Если же вы ищите хороший курс на русском языке, с поддержкой преподавателя и практикой, то жду вас у себя.

Но давайте снова к книге. После функций Эл переходит к спискам, затем словарям, а далее и к строкам. Не то чтобы мы не изучали строки ранее, просто в 6 главе они разбираются чуть подробнее: срезы, методы, и всё такое. Также тут вы узнаете про модуль для копирования строк в буфер обмена.

Автоматизация рутинных задач

Собственно, на строках изучение чистого питона в данной книге заканчивается и мы переходим к её второй части — автоматизации задач. Вторая часть состоит из 14 глав, посвященных разным темам. Пробегусь по каждой из глав и расскажу, что вас ждет, а также где и как вам могут пригодится рассмотренные автором вопросы.

Итак глава 7 — регулярные выражения. Сказать, что это очень полезная тема — ничего не сказать. Регулярные выражения применяются повсюду. С помощью них вы можете извлечь из текста любую структурированную информацию. Надо выдернуть из большого объема данных телефонные номера или имейлы или что-то еще, то регулярные выражения вам в помощь.

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

А вот следующие две главы, 9 и 10 — очень важные, так как они про работу с файлами. И это не только чтение и запись, но и работа с путями, а также копирование, перемещение и удаление, в том числе в корзину. Тут же вы научись обходить каталоги, а также создавать и распаковывать zip-архивы.

После идет 11 глава и она посвящена отладке. Это на случай если ваша программа подразумевает какие-то падения и вам бы хотелось логировать эти моменты.

Далее, в 12 главе, вы научитесь работать с сетью, в том числе сохранять и парсить интернет сайты с помощью библиотеки BeautifulSoup. Например, сможете написать небольшой скрипт, который будет следить за сайтом конкурента и если конкурент изменит цену на товар, то вы сразу же об этом узнаете. Здорово? Конечно.

Тут же вы научитесь работать с Selenium — это такая библиотека, которая позволяет управлять браузером прямо из питона. То есть вы можете из Python скрипта открыть произвольный сайт, кликнуть на нём по каким-то ссылкам или кнопкам, отправить спам комментарий конкуренту :) И всё это в автоматическом режиме без участия человека. Запустили программу, и понеслось.

Хочу сразу заметить, что с одной стороны Эл довольно подробно и, что самое главное, понятно всё объясняет, в том числе рассматривает распространенные ошибки. Однако, с другой стороны, вы не найдете тут какого-то детального и подробного руководства. Автор дает только базу и приводит самые простые примеры.

Если же вы хотите что-то более серьезное и глубокое, то вам придется самостоятельно изучать документацию и читать разные статьи. Тут база, остальное сами.

Например, на то, чтобы запустить Селениум, открыть сайт и автоматически кликнуть по кнопке, у меня ушло около 20 минут. При этом в процессе мне пришлось не только читать книгу, но и уточнять многие моменты в официальной документации. Имейте это ввиду.

После Селениума мы переходим к работе с Excel. И собственно после 13 главы прочитать или записать данные в excel-файл вам не составит труда. А в 14 главе вы освоите еще и Google Таблицы.

В 15 вы научитесь работать с PDF и Word документами, в том числе узнаете как создавать PDF файлы на основе docx.

Итого к данному моменту вы легко сможете написать небольшую программу, которая, скажем, берет из excel файла список учеников, а потом генерирует для каждого из них индивидуальный pdf-документ. Представьте, что на работе вам нужно выдать 1000 справок всем сотрудникам. Вручную выписывать каждую может занять несколько дней, а написать скрипт, который автоматизирует данную задачу можно за 30 минут. Именно в этом сила питона и данная книга как раз про такие задачи.

Но давайте двигаться дальше. 16 глава посвящена работе с csv и json файлами, что также бывает полезным. А в 17 главе рассказывается про работу с датой в временем. Тут же вы найдете информацию про многопоточность и запуск других программ прямо из Python. И это тоже периодически приходится делать.

В 18 главе вы узнаете как из Python скриптов отправлять электронные письма и SMSки через сервис Twilio.

А 19 глава посвящена работе с изображениями с помощью библиотеки Pillow. Создать, обрезать, повернуть и так далее. Pillow очень популярная библиотека и мне сложно назвать проект, в котором я её не использовал.

Так, например, на нашем сайте финальный сертификат генерируются автоматически как раз с помощью Pillow.

Сертификат об окончании Python курсов

Пример генерации с помощью Pillow

В 20 главе вы научитесь управлять клавиатурой, мышью и экраном. И собственно на этом книга заканчивается.

Заключение

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

Понравилась статья? Поделить с друзьями:
  • Spatial analyzer руководство к пользованию на русском
  • Геотар национальное руководство по
  • Плита гефест 5102 03 инструкция по применению
  • Хлебопечь philips hd9016 инструкция по применению
  • Тамтумверде спрей инструкция по применению при беременности