Автоматизация рутинных задач с помощью Python: Практическое руководство для начинающих. 2-е изд

Оглавление⌄
СОДЕРЖАНИЕ....7 Об авторе....24 О техническом рецензенте....24 Введение....26 Для кого предназначена эта книга....27 Исходные предположения....28 Что такое программирование....28 Что такое Python....29 Программисту не обязательно в совершенстве знать математику....30 Учиться программированию никогда не поздно....31 Программирование — творческий вид деятельности....31 Структура книги....32 Загрузка и установка Python....34 Загрузка и установка Mu....35 Запуск Mu....35 Запуск IDLE....36 Интерактивная оболочка....36 Установка сторонних модулей....37 Как получить справку....37 Правильно формулируйте вопросы, ответы на которые ищете....38 Файлы примеров....40 Резюме....41 Часть I Основы программирования на языке Python....42 Глава 1. Основные понятия языка Python....44 Ввод выражений в интерактивной оболочке....45 Типы данных: целые числа, вещественные числа и строки....48 Конкатенация и репликация строк....49 Сохранение значений в переменных....50 Операции присваивания....50 Имена переменных....51 Ваша первая программа....53 Анализ программы....54 Комментарии....54 Функция print()....55 Функция input()....55 Вывод имени пользователя....56 Функция len()....56 Функции str(), int() и float()....57 Резюме....60 Контрольные вопросы....61 Глава 2. Порядок выполнения программы....62 Булевы значения....64 Операторы сравнения....64 Булевы операторы....66 Бинарные булевы операторы....66 Оператор not....67 Сочетание операторов сравнения и булевых операторов....68 Элементы структурирования программы....69 Условия....69 Блоки кода....69 Выполнение программы....70 Управляющие инструкции....70 Инструкция if....70 Инструкция else....71 Инструкция elif....72 Цикл while....78 Инструкция break....82 Инструкция continue....83 Цикл for и функция range()....86 Импорт модулей....90 Инструкция from import....91 Досрочное завершение программы с помощью функции sys.exit()....92 Короткая программа: угадай число....93 Короткая программа: камень, ножницы, бумага....95 Резюме....99 Контрольные вопросы....99 Глава 3. Функции....102 Инструкции def с параметрами....104 Терминология функций....105 Инструкция return и возвращаемые значения....105 Значение None....107 Именованные аргументы и функция print()....108 Стек вызовов....109 Локальная и глобальная области видимости....111 Локальные переменные не могут использоваться в глобальной области видимости....113 В локальных областях видимости не могут использоваться переменные из других локальных областей видимости....113 Глобальные переменные доступны из локальной области видимости....114 Локальные и глобальные переменные с одинаковыми именами....115 Инструкция global....116 Обработка исключений....118 Короткая программа: зигзаг....120 Резюме....123 Контрольные вопросы....123 Учебные проекты....124 Последовательность Коллатца....124 Проверка корректности ввода....125 Глава 4. Списки....126 Что такое список....127 Доступ к элементам списка с помощью индексов....127 Отрицательные индексы....129 Получение фрагмента списка с помощью среза....130 Определение длины списка с помощью функции len()....130 Изменение элементов списка с помощью индексов....131 Конкатенация и репликация списков....131 Удаление значений из списка с помощью инструкции del....131 Работа со списками....132 Использование циклов for со списками....134 Операторы in и not in....135 Трюк с групповым присваиванием....136 Использование функции enumerate() со списками....136 Использование функций random, choice() и random, shuffle() со списками....137 Комбинированные операторы присваивания....137 Методы....138 Поиск значения в списке с помощью метода index()....139 Добавление значений в список с помощью методов append() и insert()....139 Удаление значений из списка с помощью метода remove()....140 Сортировка списка с помощью метода sort()....141 Инверсия списка с помощью метода reverse()....142 Пример программы: Magic 8 Ball со списком....143 Списковые типы данных....144 Изменяемые и неизменяемые типы данных....145 Кортежи....147 Преобразование типов с помощью функций list() и tuple()....148 Ссылки....148 Тождественность и функция id()....151 Передача ссылок....152 Функции сору() и deepcopy()....153 Короткая программа: игра “Жизнь”....154 Резюме....160 Контрольные вопросы....160 Учебные проекты....161 Запятая в качестве разделителя....161 Эксперименты с монетой....161 Символьная сетка....162 Глава 5. Словари....164 Что такое словарь....165 Сравнение словарей и списков....165 Методы keys(), values() и items()....167 Проверка наличия ключа или значения в словаре....169 Метод get()....170 Метод setdefault()....170 Красивый вывод....172 Использование структур данных для моделирования реальных объектов....173 Поле для игры в “крестики-нолики”....174 Вложенные словари и списки....180 Резюме....181 Контрольные вопросы....181 Учебные проекты....182 Валидатор словаря для игры в шахматы....182 Инвентарь приключенческой игры....182 Функция добавления списка в словарь для приключенческой игры....183 Глава 6. Строки....186 Работа со строками....187 Строковые литералы....187 Индексирование строк и извлечение срезов....190 Использование операторов in и not in со строками....191 Вставка строк в другие строки....191 Полезные методы для работы со строками....192 Методы upper(), lower(), isupper() и islower()....192 Строковые методы isX()....194 Методы startswith() и endswith()....196 Методы join() и split()....197 Разбиение строк с помощью метода partition()....198 Выравнивание текста с помощью методов rjust(), ljust() и center()....199 Удаление пробелов с помощью методов strip(), rstrip() и lstrip()....201 Получение числовых значений символов с помощью функций ord() и chr()....202 Копирование и вставка строк с помощью модуля pyperclip....203 Проект: автоматическая рассылка сообщений с помощью нескольких буферов обмена....204 Шаг 1. Проектирование программы и структур данных....204 Шаг 2. Обработка аргументов командной строки....205 Шаг 3. Копирование фразы в буфер....205 Проект: добавление маркеров в разметку Wiki-документов....206 Шаг 1. Копирование и вставка посредством буфера обмена....207 Шаг 2. Разбивка текста на строки и добавление звездочек....208 Шаг 3. Объединение измененных строк....209 Короткая программа: поросячья латынь....209 Резюме....213 Контрольные вопросы....214 Учебные проекты....215 Табличный вывод данных....215 Боты Zombie Dice....216 Часть II. Автоматизация задач....220 Глава 7. Регулярные выражения....222 Поиск образцов текста без использования регулярных выражений....223 Поиск образцов текста с помощью регулярных выражений....225 Создание объектов Regex....226 Поиск соответствий объектам Regex....227 Пошаговая процедура....227 Другие шаблоны регулярных выражений....228 Создание групп с помощью круглых скобок....228 Выбор альтернативных групп с помощью канала....230 Указание необязательной группы с помощью вопросительного знака....231 Указание группы, повторяющейся нуль или несколько раз, с помощью звездочки....232 Указание группы, повторяющейся один или несколько раз, с помощью знака “плюс”....232 Указание количества повторений с помощью фигурных скобок....233 Жадный и нежадный виды поиска....234 Метод findall()....235 Символьные классы....236 Создание собственных символьных классов....236 Символ ^ и знак доллара....237 Символ подстановки....238 Поиск любого текста с помощью комбинации “точка — звездочка”....239 Поиск символов новой строки с помощью точки....240 Сводка синтаксиса регулярных выражений....240 Поиск без учета регистра....241 Замена строк с помощью метода sub()....242 Работа со сложными регулярными выражениями....242 Комбинация констант re.IGNORECASE, re.DOTALL и re.VERBOSE....243 Проект: извлечение телефонных номеров и адресов электронной почты....244 Шаг 1. Создание регулярного выражения для поиска телефонных номеров....245 Шаг 2. Создание регулярного выражения для поиска адресов электронной почты....246 Шаг 3. Поиск всех совпадений в тексте, скопированном в буфер обмена....247 Шаг 4. Объединение совпадений в одну строку для копирования в буфер обмена....248 Запуск программы....249 Идеи для создания похожих программ....249 Резюме....250 Контрольные вопросы....250 Учебные проекты....252 Обнаружение даты....252 Выявление сильных паролей....253 Версия метода strip(), использующая регулярные выражения....253 Глава 8. Проверка ввода....254 Модуль PyInputPlus....255 Именованные аргументы min, max, greaterThan и lessThan....258 Именованный аргумент blank....258 Именованные аргументы limit, timeout и default....259 Именованные аргументы allowRegexes и blockRegexes....260 Передача пользовательской функции проверки в функцию inputCustom()....261 Проект: как занять дурака на несколько часов....262 Проект: тест на умножение....264 Резюме....266 Контрольные вопросы....267 Учебные проекты....267 Изготовитель бутербродов....268 Собственный тест на умножение....268 Глава 9. Чтение и запись файлов....270 Файлы и папки....271 Использование обратной косой черты в Windows и косой черты в macOS и Linux....272 Использование оператора / для объединения путей....273 Текущий каталог....275 Домашний каталог....276 Абсолютные и относительные пути....276 Создание новых папок с помощью функции os.makedirs()....277 Обработка абсолютных и относительных путей....278 Получение отдельных частей пути....280 Определение размеров файлов и содержимого папок....282 Изменение списка файлов с помощью шаблонов....283 Проверка существования пути....285 Процесс чтения и записи файлов....286 Открытие файла с помощью функции open()....287 Чтение содержимого файла....288 Запись в файл....289 Сохранение переменных с помощью модуля shelve....290 Сохранение переменных с помощью функции pprint. pformat()....292 Проект: генерирование случайных билетов....293 Шаг 1. Сохранение данных в словаре....294 Шаг 2. Создание файлов билетов и перемешивание вопросов....295 Шаг 3. Создание вариантов ответов....296 Шаг 4. Запись содержимого в файлы билетов и ключей ответов....297 Проект: множественный буфер обмена....299 Шаг 1. Комментарии и настройка хранилища....300 Шаг 2. Сохранение содержимого буфера обмена с ключевым словом....300 Шаг 3. Построение списка ключевых слов и загрузка содержимого, ассоциированного с ключевым словом....301 Резюме....302 Контрольные вопросы....303 Учебные проекты....303 Расширение возможностей множественного буфера обмена....303 Программа Mad Libs....303 Поиск с помощью регулярных выражений....304 Глава 10. Управление файлами....306 Модуль shutil....307 Копирование файлов и папок....307 Перемещение и переименование файлов и папок....308 Безвозвратное удаление файлов и папок....310 Безопасное удаление с помощью модуля send2trash....311 Обход дерева каталогов....311 Сжатие файлов с помощью модуля zipfile....313 Чтение ZIP-файлов....314 Извлечение файлов из ZIP-архива....315 Создание ZIP-архивов и добавление в них файлов....316 Проект: переименование файлов с заменой американского формата дат европейским....316 Шаг 1. Создание регулярного выражения для поиска дат в американском формате....317 Шаг 2. Идентификация фрагментов имен файлов, соответствующих датам....319 Шаг 3. Создание нового имени файла и переименование файлов....320 Идеи для создания похожих программ....321 Проект: создание резервной копии папки в виде ZIP-файла....321 Шаг 1. Определение имени, которое следует присвоить ZIP-файлу....321 Шаг 2. Создание нового ZIP-файла....323 Шаг 3. Обход дерева каталогов и добавление содержимого в ZIP-файл....323 Идеи для создания похожих программ....325 Резюме....325 Контрольные вопросы....326 Учебные проекты....326 Выборочное копирование....326 Удаление ненужных файлов....326 Заполнение пропусков в нумерации файлов....327 Глава 11. Отладка....328 Генерирование исключений....329 Сохранение обратной трассировки стека вызовов в виде строки....331 Утверждения....333 Использование утверждений в программе, имитирующей работу светофора....334 Протоколирование....336 Использование модуля logging....336 Не выполняйте отладку с помощью функции print()....338 Уровень протоколирования....339 Отключение протоколирования....340 Запись сообщений в файл журнала....340 Отладчик Mu....341 Кнопка Continue....341 Кнопка Step In....341 Кнопка Step Over....342 Кнопка Step Out....342 Кнопка Stop....343 Отладка программы сложения чисел....343 Точки останова....345 Резюме....347 Контрольные вопросы....347 Учебный проект....348 Отладка программы, имитирующей подбрасывание монеты....348 Глава 12. Веб-скрейпинг....350 Проект: программа mapIt.ру с модулем webbrowser....351 Шаг 1. Определение URL-адреса....352 Шаг 2. Обработка аргументов командной строки....353 Шаг 3. Обработка содержимого буфера обмена и запуск браузера....354 Идеи для создания похожих программ....355 Загрузка файлов из Интернета с помощью модуля requests....355 Загрузка веб-страницы с помощью функции requests.get()....355 Проверка ошибок....356 Сохранение загруженных файлов на жестком диске....357 HTML....359 Ресурсы для изучения HTML....359 Краткие сведения об HTML....359 Просмотр HTML-кода веб-страницы....361 Открытие окна инструментов веб-разработки в браузере....361 Использование инструментов веб-разработки для поиска HTML-элементов....363 Парсинг HTML-разметки с помощью модуля bs4....365 Создание объекта BeautifulSoup на основе HTML-разметки....366 Поиск элемента с помощью метода select()....366 Получение данных из атрибутов элемента....369 Проект: открытие всех результатов поиска....369 Шаг 1. Получение аргументов командной строки и запрос поисковой страницы....370 Шаг 2. Поиск всех результатов....371 Шаг 3. Открытие браузера для каждого из результатов поиска....372 Идеи для создания похожих программ....373 Проект: загрузка всех комиксов на сайте XKCD....373 Шаг 1. Проектирование программы....374 Шаг 2. Загрузка веб-страницы....375 Шаг 3. Поиск и загрузка изображения комикса....376 Шаг 4. Сохранение изображения и поиск предыдущего комикса....377 Идеи для создания похожих программ....379 Управление браузером с помощью модуля selenium....379 Запуск браузера под управлением Selenium....380 Поиск элементов на веб-странице....382 Щелчок на веб-странице....383 Заполнение и отправка веб-форм....384 Отправка кодов специальных клавиш....385 Щелчки на кнопках браузера....386 Получение дополнительной информации о модуле selenium....386 Резюме....386 Контрольные вопросы....386 Учебные проекты....388 Программа для отправки электронной почты из командной строки....388 Загрузчик изображений из Интернета....388 2048....388 Верификация гиперссылок....388 Глава 13. Работа с таблицами Excel....390 Документы Excel....391 Установка модуля openpyxl....391 Чтение документов Excel....392 Открытие документов Excel с помощью модуля openpyxl....393 Получение списка листов рабочей книги....393 Получение ячеек рабочих листов....394 Преобразование буквенных и числовых обозначений столбцов....395 Получение строк и столбцов рабочих листов....396 Рабочие книги, листы и ячейки....398 Проект: чтение данных электронной таблицы....398 Шаг 1. Чтение электронной таблицы....399 Шаг 2. Заполнение структуры данных....400 Шаг 3. Запись результатов в файл....402 Идеи для создания похожих программ....403 Запись документов Excel....404 Создание и сохранение документов Excel....404 Создание и удаление рабочих листов....405 Запись значений в ячейки....406 Проект: обновление электронной таблицы....406 Шаг 1. Создание структуры, содержащей данные для обновления....407 Шаг 2. Проверка всех строк и обновление некорректных цен....408 Идеи для создания похожих программ....409 Настройка шрифтов ячеек....410 Объекты Font....410 Формулы....412 Настройка строк и столбцов....413 Настройка высоты строк и ширины столбцов....413 Объединение и отмена объединения ячеек....414 Закрепление областей....415 Диаграммы....416 Резюме....419 Контрольные вопросы....419 Учебные проекты....420 Генератор таблиц умножения....420 Программа для вставки пустых строк....420 Транспонирование электронной таблицы....421 Преобразование текстовых файлов в электронную таблицу....421 Преобразование электронной таблицы в текстовые файлы....422 Глава 14. Работа с приложением Google Таблицы....424 Установка и настройка модуля EZSheets....425 Получение файлов учетных данных и токенов....425 Отзыв файла учетных данных....427 Объекты Spreadsheet....428 Создание, выгрузка и отображение электронных таблиц....428 Атрибуты объекта Spreadsheet....430 Загрузка и выгрузка электронных таблиц....431 Удаление электронной таблицы....432 Объекты Sheet....432 Чтение и запись данных....433 Создание и удаление листов....438 Копирование листов....440 Квоты приложения Google Таблицы....441 Резюме....441 Контрольные вопросы....442 Учебные проекты....442 Загрузка данных из приложения Google Формы....442 Преобразование электронных таблиц в другие форматы....443 Поиск ошибок в электронной таблице....443 Глава 15. Работа с документами PDF и Word....446 PDF-документы....447 Извлечение текста из PDF-файлов....447 Дешифровка PDF-документов....449 Создание PDF-документов....450 Проект: объединение выбранных страниц из многих PDF-документов....456 Шаг 1. Поиск всех PDF-файлов....457 Шаг 2. Открытие PDF-файлов....457 Шаг 3. Добавление страниц....458 Шаг 4. Сохранение результатов....459 Идеи для создания похожих программ....459 Документы Word....460 Чтение документов Word....461 Получение всего текста из файла .docx....462 Стилевое оформление абзаца и объекты Run....463 Создание документов Word с нестандартными стилями....464 Атрибуты объекта Run....465 Запись документов Word....467 Добавление заголовков....469 Добавление разрывов строк и страниц....470 Добавление изображений....471 Создание документов PDF на основе документов Word....471 Резюме....472 Контрольные вопросы....473 Учебные проекты....473 PDF-паранойя....473 Персонализированные приглашения в виде документов Word....474 Взлом паролей PDF-файлов методом грубой силы....475 Глава 16. Работа с CSV-файлами и данными в формате JSON....476 Модуль csv....477 Объекты reader....478 Чтение данных из объекта reader в цикле for....479 Объекты writer....480 Именованные аргументы delimiter и lineterminator....481 Объекты DictReader и DictWriter....482 Проект: удаление заголовков из CSV-файла....484 Шаг 1. Цикл по всем CSV-файлам....485 Шаг 2. Чтение CSV-файла....486 Шаг 3. Запись CSV-файла без первой строки....487 Идеи для создания похожих программ....488 JSON и программные интерфейсы....488 Модуль json....489 Чтение данных JSON с помощью функции loads()....490 Запись данных JSON с помощью функции dumps()....490 Проект: получение текущего прогноза погоды....490 Шаг 1. Определение местоположения с помощью аргумента командной строки....491 Шаг 2. Загрузка данных JSON....492 Шаг 3. Запись данных JSON и вывод прогноза погоды....493 Идеи для создания похожих программ....495 Резюме....495 Контрольные вопросы....496 Учебный проект....496 Программа для преобразования данных из формата Excel в формат CSV....496 Глава 17. Работа с датой и временем, планирование заданий и запуск программ....498 Модуль time....499 Функция time.time()....499 Функция time.sleep()....501 Округление чисел....501 Проект: суперсекундомер....502 Шаг 1. Создание программы для отслеживания времени....503 Шаг 2. Отслеживание и вывод длительности замеров....503 Идеи для создания похожих программ....504 Модуль datetime....505 Тип данных timedelta....507 Пауза до наступления заданной даты....508 Преобразование объектов datetime в строки....509 Преобразование строк в объекты datetime....510 Обзор функций Python для работы с датой и временем....511 Многопоточность....512 Передача аргументов целевой функции потока....514 Проблемы параллелизма....515 Проект: многопоточный загрузчик файлов с сайта XKCD....515 Шаг 1. Модификация программы путем вынесения ее кода в функцию....516 Шаг 2. Создание и запуск потоков выполнения....517 Шаг 3. Ожидание завершения всех потоков....518 Запуск других программ из Python....519 Передача аргументов командной строки в функцию Popen()....521 Планировщик заданий Windows, демон launchd и планировщик cron....522 Открытие веб-сайтов с помощью Python....522 Запуск других сценариев Python....522 Открытие файлов приложениями, заданными по умолчанию....523 Проект: простая программа обратного отсчета времени....524 Шаг 1. Обратный отсчет....524 Шаг 2. Воспроизведение звукового файла....525 Идеи для создания похожих программ....526 Резюме....526 Контрольные вопросы....527 Учебные проекты....527 Наглядный секундомер....527 Загрузка веб-комиксов по расписанию....528 Глава 18. Отправка электронной почты и текстовых сообщений....530 Отправка и получение электронной почты с помощью Gmail API....531 Подключение Gmail API....532 Отправка электронной почты через учетную запись Gmail....533 Чтение электронной почты с помощью учетной записи Gmail....534 Поиск почты в учетной записи Gmail....535 Загрузка вложений из писем Gmail....536 SMTP....536 Отправка электронной почты по протоколу SMTP....537 Подключение к серверу SMTP....538 Отправка строки приветствия серверу SMTP....539 Начало TLS-шифрования....539 Регистрация на сервере SMTP....540 Отправка письма....540 Разрыв соединения с сервером SMTP....541 IMAP....541 Получение и удаление сообщений электронной почты по протоколу IMAP....542 Подключение к серверу IMAP....543 Регистрация на сервере IMAP....543 Поиск сообщений....544 Получение сообщений электронной почты и пометка их как прочитанных....548 Получение адресов электронной почты из необработанных сообщений....549 Получение тела письма из необработанного сообщения....550 Удаление писем....551 Разрыв соединения с сервером IMAP....552 Проект: рассылка напоминаний об уплате членских взносов....552 Шаг 1. Открытие файла Excel....553 Шаг 2. Поиск всех членов клуба, не уплативших взнос....554 Шаг 3. Отправка персональных напоминаний по электронной почте....555 Отправка текстовых сообщений с помощью почтового шлюза SMS....557 Отправка текстовых сообщений с помощью Twilio....558 Создание учетной записи Twilio....559 Отправка текстовых сообщений....560 Проект: модуль “Черкни мне”....562 Резюме....563 Контрольные вопросы....564 Учебные проекты....565 Произвольное распределение заданий путем рассылки по электронной почте....565 Напоминание о зонтике....565 Автоматический отказ от подписки....565 Дистанционное управление компьютером по электронной почте....566 Глава 19. Работа с изображениями....568 Основы компьютерной обработки изображений....569 Цвета и значения RGBA....569 Кортежи координат и прямоугольников....571 Обработка изображений с помощью модуля Pillow....572 Работа с объектами Image....573 Обрезка изображений....575 Копирование и вставка изображений в другие изображения....575 Изменение размеров изображения....578 Поворот и зеркальное отражение изображений....580 Изменение отдельных пикселей....582 Проект: добавление логотипа....584 Шаг 1. Открытие изображения логотипа....585 Шаг 2. Цикл по всем файлам и открытие изображений....586 Шаг 3. Масштабирование изображений....587 Шаг 4. Добавление логотипа и сохранение изменений....588 Идеи для создания похожих программ....590 Рисование на изображениях....590 Рисование фигур....591 Рисование текста....593 Резюме....595 Контрольные вопросы....596 Учебные проекты....596 Доработка основного проекта главы....597 Поиск папок с фотографиями на жестком диске....597 Персональные приглашения....599 Глава 20. Управление клавиатурой и мышью....600 Установка модуля PyAutoGUI....601 Настройка доступности в rnacOS....602 Контроль над клавиатурой и мышью....602 Паузы и безопасное завершение работы....602 Прекращение выполнения всех задач путем выхода из учетной записи....603 Управление перемещениями мыши....603 Перемещение указателя мыши....604 Получение позиции указателя....605 Управление взаимодействием с мышью....606 Щелчки мышью....606 Перетаскивание указателя мыши....607 Прокрутка....609 Планирование перемещений указателя....609 Работа с экраном....611 Получение снимка экрана....611 Анализ снимка экрана....611 Распознавание изображений....613 Получение информации об окне....614 Определение активного окна....615 Другие способы получения информации об окнах....616 Манипулирование окнами....617 Управление клавиатурой....619 Отправка строки, набранной на виртуальной клавиатуре....619 Названия клавиш....620 Нажатие и отпускание клавиш....622 Горячие клавиши....622 Настройка собственных сценариев GUI-автоматизации....623 Обзор функций PyAutoGUI....624 Проект: автоматическое заполнение формы....625 Шаг 1. Составление плана действий....627 Шаг 2. Настройка координат....628 Шаг 3. Начало ввода данных....630 Шаг 4. Обработка списков выбора и переключателей....631 Шаг 5. Отправка формы и ожидание....632 Отображение окон сообщений....633 Резюме....634 Контрольные вопросы....635 Учебные проекты....636 Как притвориться занятым....636 Использование буфера обмена для чтения текстового поля....636 Бот для отправки мгновенных сообщений....637 Руководство по созданию игрового бота....637 Приложение А. Установка сторонних модулей....640 Утилита pip....641 Инсталляция модулей....641 Установка модулей для редактора Mu....644 Приложение Б. Запуск программ....646 Запуск программ в окне терминала....647 Запуск сценариев Python в Windows....648 Запуск сценариев Python в macOS....649 Запуск сценариев Python в Ubuntu Linux....650 Запуск сценариев Python с отключенными проверками....651 Приложение В. Ответы на контрольные вопросы....652 Глава 1....653 Глава 2....653 Глава 3....655 Глава 4....656 Глава 5....657 Глава 6....657 Глава 7....658 Глава 8....659 Глава 9....659 Глава 10....660 Глава 11....660 Глава 12....661 Глава 13....662 Глава 14....663 Глава 15....664 Глава 16....664 Глава 17....665 Глава 18....665 Глава 19....666 Глава 20....666 Предметный указатель....668
Описание
Коротко и по делу о том, что важно знать про автоматизации.
В полностью переработанном втором издании книги вы узнаете, как использовать Python для написания программ, способных за минуту сделать то, на что раньше уходили часы ручного труда, причем никакого опыта программирования не потребуется! Вы освоите основы Python и исследуете стандартную библиотеку модулей, позволяющих решать самые разнообразные задачи, такие как сбор данных с веб-сайтов, чтение документов в формате PDF и Word и автоматизация щелчков мыши.
Также рассмотрены вопросы автоматизации работы с приложениями Gmail и Google Таблицы и даны советы по автоматическому обновлению CSV-файлов. Во второе издание книги включена новая глава, посвященная проверке вводимых данных. Вы узнаете, как писать программы, которые легко выполняют следующие задачи автоматизации:
поиск текста в файле или в нескольких файлах;создание, обновление, перемещение и пе- реименование файлов и папок;поиск в Интернете и загрузка веб-контента;обработка и шифрование PDF-документов;рассылка электронной почты и текстовых уведомлений;заполнение веб-форм.Пошаговые инструкции помогут лучше понять, как работает та или иная приложение, а обновленные учебные проекты в конце каждой главы дадут возможность применить полученные навыки для автоматизации аналогичных задач.
Не тратьте время на выполнение рутинной работы. Даже не имея опыта программирования, благодаря данной книге вы вполне сможете заставить компьютер сделать все необходимое!
Файл доступен для загрузки ниже.
Поделиться
Частые вопросы
Можно ли скачать «Автоматизация рутинных задач с помощью Python: Практическое руководство для начинающих. 2-е изд» бесплатно?
Да, «Автоматизация рутинных задач с помощью Python: Практическое руководство для начинающих. 2-е изд» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 15,6 МБ.
Кто автор и когда вышла книга?
автор — Свейгарт Эл, издательство Диалектика, год выпуска 2021, 674 страниц.
О чём книга «Автоматизация рутинных задач с помощью Python: Практическое руководство для начинающих. 2-е изд»?
В полностью переработанном втором издании книги вы узнаете, как использовать Python для написания программ, способных за минуту сделать то, на что раньше уходили часы ручного труда, причем никакого опыта программирования не потребуется!