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

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

Автоматизация рутинных задач с помощью Python: Практическое руководство для начинающих. 2-е изд
Автор: Свейгарт Эл
Переводчик: Гузикевич А.Г., Красиков И. В.
Дата выхода: 2021
Издательство: Диалектика
Количество страниц: 674
Размер файла: 15.6 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

СОДЕРЖАНИЕ....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-документов;
  • рассылка электронной почты и текстовых уведомлений;
  • заполнение веб-форм.

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

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


Похожее:

Список отзывов:

Нет отзывов к книге.