Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 7

Memcached . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Redis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

Прочие серверы NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

Full-Text Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

Глава 9. Распутываем Всемирную паутину . . . . . . . . . . . . . . . . . . . . 257

Веб-клиенты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

Тестируем с telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

Стандартные веб-библиотеки Python . . . . . . . . . . . . . . . . . . . . . . . . 260

За пределами стандартной библиотеки: requests . . . . . . . . . . . . . . . 262

Веб-серверы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Простейший веб-сервер Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Web Server Gateway Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Фреймворки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Bottle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Веб-серверы, не использующие Python . . . . . . . . . . . . . . . . . . . . . . 272

Другие фреймворки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274

Веб-сервисы и автоматизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

Модуль webbrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

API для Сети и Representational State Transfer . . . . . . . . . . . . . . . . . . 277

JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

Поиск и выборка данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

Получаем HTML-код с помощью BeautifulSoup . . . . . . . . . . . . . . . . . 278

Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

Оглавление

15

Глава 10. Системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Создаем файл с помощью функции open() . . . . . . . . . . . . . . . . . . . . 281

Проверяем существование файла с помощью функции

exists() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

Проверяем тип с помощью функции isfile() . . . . . . . . . . . . . . . . . . . 282

Копируем файлы с помощью функции copy() . . . . . . . . . . . . . . . . . . 283

Изменяем имена файлов с помощью функции rename() . . . . . . . . . . 283

Создаем ссылки с помощью link() или symlink() . . . . . . . . . . . . . . . . 283

Изменяем разрешения с помощью функции chmod() . . . . . . . . . . . . 284

Изменение владельца файла с помощью функции chown() . . . . . . . . 284

Получаем pathname с помощью функции abspath() . . . . . . . . . . . . . 285

Получаем символьную ссылку с помощью функции

realpath() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

Удаляем файл с помощью функции remove() . . . . . . . . . . . . . . . . . . 285

Каталоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

Создаем каталог с помощью функции mkdir() . . . . . . . . . . . . . . . . . 285

Удаляем каталог с помощью функции rmdir() . . . . . . . . . . . . . . . . . . 286

Выводим на экран содержимое каталога с помощью

функции listdir() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

Изменяем текущий каталог с помощью функции

chdir() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Перечисляем совпадающие файлы с помощью функции