Оглавление
Вступительное слово
Предисловие ко второму изданию

1. Знакомство с Python
История жизни Python
Обязательный список характеристик
Где хорош Python?
Для чего Python не годится?

Ч а с т ь I. Системные интерфейсы

2. Системные инструменты
Зачем здесь нужен Python?
Обзор системных сценариев
Модуль sys
Модуль os
Контекст выполнения сценария
Текущий рабочий каталог
Аргументы командной строки
Переменные окружения оболочки
Стандартные потоки
Средства для работы с файлами
Средства для работы с каталогами

3. Системные средства параллельного выполнения
Ветвление процессов
Потоки
Завершение программ
Межпроцессное взаимодействие
Каналы
Сигналы
Запуск программ под Windows
Другие системные средства

4. Более крупные системные примеры I
Разрезание и соединение файлов
Создание веб-страниц со ссылками переадресации
Сценарий регрессивного теста
Упаковка и распаковка файлов
Дружественные пользователю средства для запуска программ

5. Более крупные системные примеры II
Исправление концов строк в формате DOS
Исправление имен файлов DOS
Поиск в деревьях каталогов
Visitor: обобщенный обход деревьев
Копирование деревьев каталогов
Удаление деревьев каталогов
Сравнение деревьев каталогов

Ч а с т ь II. Программирование GUI

6. Графические интерфейсы пользователя
Варианты разработки GUI в Python
Обзор Tkinter
Взбираясь по кривой обучения GUI-программированию
Завершение начального обучения
Соответствие между Python/Tkinter и Tcl/Tk

7. Обзор Tkinter, часть 1
Настройка внешнего вида графических элементов
Окна верхнего уровня
Диалоги
Привязка событий
Message и Entry
Флажки, переключатели и ползунки
Три способа выполнения кода GUI
Изображения

8. Обзор Tkinter, часть 2
Меню
Окна списков и полосы прокрутки
Text
Графический элемент Canvas
Сетки
Средства синхронизации, потоки и анимация
Конец экскурсии
Запускающие программы PyDemos и PyGadgets

9.Более крупные примеры GUI
Более сложные приемы написания кода GUI
Примеры законченных программ
PyEdit: программа/объект текстового редактора
PyView: слайд-шоу для графики и заметок
PyDraw: рисование и перемещение графики
PyClock: графический элемент аналоговых/цифровых часов
PyToe: графический элемент игры в крестики-нолики
Что дальше

Ч а с т ь III. Создание сценариев для Интернета

10. Сетевые сценарии
Трубопровод для Интернета
Программирование сокетов
Обработка нескольких клиентов
Простой файловый сервер на Python

11. Сценарии на стороне клиента
Передача файлов по Сети
Обработка электронной почты Интернета
Почтовый клиент PyMailGui
Другие инструменты, используемые на стороне клиента

12. Сценарии, выполняемые на сервере
Что такое сценарий CGI для сервера?
Взбираясь по кривой обучения CGI
Селектор "Hello World"
Код, облегчающий сопровождение
Снова об escape-преобразованиях HTML и URL
Отправка файлов клиентам и серверам

13. Более крупные примеры сайтов I
Веб-сайт PyMailCgi
Корневая страница
Отправка почты по SMTP
Чтение почты POP
Вспомогательные модули
Недостатки и преимущества сценариев CGI

14. Более крупные примеры сайтов II
Веб-сайт PyErrata
Корневая страница
Просмотр сообщений PyErrata
Передача сообщений в PyErrata
Интерфейсы баз данных PyErrata
Средства администрирования
Проектирование с учетом повторного использования и расширения

15. Более сложные темы Интернета
Zope: среда для создания публикаций в веб
HTMLgen: веб-страницы, создаваемые объектами
JPython (Jython): Python для Java
Grail: веб-броузер на основе Python
Ограниченный режим выполнения Python
Средства обработки XML
Расширения для веб-сценариев в Windows
Python Server Pages
Создание собственных серверов на Python

Ч а с т ь IV. Разные темы

16. Базы данных и постоянное хранение
Возможности постоянного хранения данных в Python
Файлы DBM
Сериализованные объекты
Файлы shelve
Интерфейсы баз данных SQL
PyForm: средство просмотра постоянных объектов

17. Структуры данных
Реализация стеков
Реализация множеств
Двоичные деревья поиска
Поиск на графах
Реверсирование последовательностей
Перестановки последовательностей
Сортировка последовательностей
Структуры данных в сравнении со встроенными типами Python
PyTree: общее средство просмотра деревьев объектов

18. Текст и язык
Стратегии синтаксического анализа в Python
Средства модуля string
Поиск регулярных выражений
Генераторы парсеров
Парсеры, написанные вручную
PyCalc: программа/объект калькулятора

Ч а с т ь V. Интеграция

19. Расширяем Python
Обзор расширений на C
Простой модуль расширения на C
SWIG - генератор интегрирующего кода
Создание оболочек для вызовов окружения C
Стек строк модуля расширения на C
Тип стека строк: расширение на C
Создание оболочек классов C++ с помощью SWIG

20. Встраиваем Python
Обзор API встраивания в C
Основные приемы встраивания кода
Регистрация объектов для обработки обратных вызовов
Использование в C классов Python
ppembed: API высокого уровня для встраивания
Другие темы интеграции

Ч а с т ь VI. Конец

21. Заключение: Python и цикл разработки
"Как-то мы неправильно программируем компьютеры"
"Фактор Гиллигана"
Делать Правильное Дело
И тут появляется Python
А как насчет того узкого места?
По поводу потопления "Титаника"
Так что же такое Python: продолжение
Заключительный анализ...
Эпилог ко второму изданию

A. Последние изменения в Python
B. Прагматика
C. Python и C++

Алфавитный указатель