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

Когда лучше использовать классы и объекты, а когда — модули . . . . . . 176

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

Глава 7. Работаем с данными профессионально . . . . . . . . . . . . . . 180

Текстовые строки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Формат . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

Совпадение с регулярными выражениями . . . . . . . . . . . . . . . . . . . . 192

Оглавление

13

Бинарные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

bytes и bytearray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

Преобразуем бинарные данные с помощью модуля struct . . . . . . . . . 202

Другие инструменты для работы с бинарными данными . . . . . . . . . . 205

Преобразование байтов/строк с помощью функции binascii() . . . . . . 206

Битовые операторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

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

Глава 8. Данные должны куда-то попадать . . . . . . . . . . . . . . . . . . . 210

Ввод информации в файлы и ее вывод из них . . . . . . . . . . . . . . . . . . . . 210

Запись в текстовый файл с помощью функции write() . . . . . . . . . . . 211

Считываем данные из текстового файла с помощью

функций read(), readline() и readlines() . . . . . . . . . . . . . . . . . . . . 213

Записываем данные в бинарный файл с помощью функции write() . . . 215

Читаем бинарные файлы с помощью функции read() . . . . . . . . . . . . 216

Закрываем файлы автоматически с помощью ключевого

слова with . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

Меняем позицию с помощью функции seek() . . . . . . . . . . . . . . . . . . 216

Структурированные текстовые файлы . . . . . . . . . . . . . . . . . . . . . . . . . . 218

CSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

YAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

Безопасность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

Конфигурационные файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

Другие форматы обмена данными . . . . . . . . . . . . . . . . . . . . . . . . . . 229

Сериализация с помощью pickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

Структурированные бинарные файлы . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Электронные таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

HDF5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Реляционные базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

DB-API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

14

Оглавление

SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

SQLAlchemy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Хранилища данных NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Семейство dbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244