Программирование на 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
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.