Программирование на Python - [3]

Шрифт
Интервал

Глава 5. Системные инструменты

параллельного выполнения..................................................258

«Расскажите обезьянам, что им делать» ................................258

Ветвление процессов ........................................................... 260

Комбинация fork/exec.....................................................264

Потоки выполнения............................................................270

Модуль _thread..............................................................274

Модуль threading............................................................ 287

Модуль queue.................................................................293

Графические интерфейсы и потоки выполнения:

предварительное знакомство ............................................ 298

Подробнее о глобальной блокировке

интерпретатора (GIL)......................................................302

Завершение программ ......................................................... 306

Завершение программ средствами модуля sys.....................306

Завершение программ средствами модуля os......................307

Коды завершения команд оболочки...................................308

Код завершения процесса

и совместно используемая информация.............................312

Код завершения потока

и совместно используемая информация.............................314

Взаимодействия между процессами.......................................316

Анонимные каналы........................................................318

Именованные каналы (fifo)..............................................331

Сокеты: первый взгляд .................................................... 335

Сигналы ........................................................................ 340

Пакет multiprocessing.........................................................343

Зачем нужен пакет multiprocessing?.................................. 344

Основы: процессы и блокировки.......................................346

Инструменты IPC: каналы, разделяемая память и очереди ... 349

Запуск независимых программ ......................................... 357

И многое другое..............................................................359

Зачем нужен пакет multiprocessing? Заключение ................ 361

Другие способы запуска программ.........................................362

Семейство функций os.spawn...........................................362

Функция os.startfile в Windows........................................366

Переносимый модуль запуска программ ................................368

Другие системные инструменты............................................ 374

Глава 6. Законченные системные программы........................376

«Ярость поиска».................................................................376

Игра: «Найди самый большой файл Python»...........................377

Сканирование каталога стандартной библиотеки................377

Сканирование дерева каталогов стандартной библиотеки.....378

Сканирование пути поиска модулей..................................379

Сканирование всего компьютера....................................... 382

Вывод имен файлов с символами Юникода.........................387

Разрезание и объединение файлов.........................................390

Разрезание файлов переносимым способом......................... 391

Соединение файлов переносимым образом .........................395

Варианты использования................................................. 399

Создание веб-страниц для переадресации ............................... 403

Файл шаблона страницы .................................................404

Сценарий генератора страниц...........................................405

Сценарий регрессивного тестирования ................................... 408

Запускаем тестирование..................................................411

Копирование деревьев каталогов...........................................417

Сравнение деревьев каталогов ..............................................422

Поиск расхождений между каталогами.............................422

Поиск различий между деревьями....................................425

Запускаем сценарий........................................................428

Проверка резервных копий..............................................431

Отчет о различиях и другие идеи ...................................... 433

Поиск в деревьях каталогов..................................................435

grep, glob и find..............................................................436

Создание собственного модуля find...................................437

Удаление файлов с байт-кодом .........................................442

Visitor: обход каталогов «++»...............................................448

Редактирование файлов в деревьях каталогов (Visitor).........454

Глобальная замена в деревьях каталогов (Visitor) ...............456

Подсчет строк исходного программного кода (Visitor)..........458

Копирование деревьев каталогов

с помощью классов (Visitor).............................................460

Другие примеры обходчиков (внешние).............................462


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.