Как использовать библиотеку pyyaml?
YAML: The Missing Battery in Python
by Bartosz Zaczyński intermediate
Table of Contents
- Taking a Crash Course in YAML
- Getting Started With YAML in Python
- Loading YAML Documents in Python
- Dumping Python Objects to YAML Documents
- Parsing YAML Documents at a Low Level
- Conclusion
Python часто рекламируется как язык со встроенными “батарейками” (библиотеками), потому что он поставляется со всем необходимым для программирования. Это заявление в основном верно, поскольку стандартная библиотека и сторонние модули покрывают широкий спектр потребностей. Однако Python лишен встроенной поддержки формата данных YAML, который часто используется для конфигурации и сериализации, несмотря на явные сходства между двумя языками.
В данном руководстве вы узнаете, как работать с YAML в Python с использованием доступных сторонних библиотек, с акцентом на PyYAML. Если вы новичок в YAML или давно не работали с ним, то у вас будет возможность взять небольшой интенсивный курс перед началом более глубокого погружения в тему.
В этом руководстве вы научитесь:
- Читать и записывать YAML-документы в Python
- Сериализовать встроенные и пользовательские типы данных Python в YAML
- Безопасно читать YAML-документы из ненадежных источников
- Управлять разбором YAML-документов на более низком уровне
Позднее вы узнаете о продвинутых, потенциально опасных возможностях YAML и как защитить себя от них. Чтобы разобрать YAML на более низком уровне, вы создадите инструмент для подсветки синтаксиса и интерактивного просмотра в HTML. Наконец, вы воспользуетесь пользовательскими тегами YAML для расширения синтаксиса этого формата данных.
Введение в YAML
В этом разделе вы узнаете основные факты о YAML, включая его использование, синтаксис и некоторые его уникальные и мощные возможности. Если вы раньше работали с YAML, то можете пропустить этот раздел и читать дальше с следующего раздела, который рассматривает использование YAML в Python.
Исторический контекст
YAML, который рифмуется с верблюдом, является [рекурсивным акронимом](https: //en.wikipedia.org/wiki/Recursive_acronym), который расшифровывается как “YAML Ain’t Markup Language” (YAML - служебный язык разметки).
Сравнение с XML и JSON
Практическое использование YAML
Синтаксис YAML
Уникальные возможности
Начало работы с YAML в Python
Сериализация YAML-документов в JSON
Установка библиотеки PyYAML
Чтение и запись первого YAML-документа
Загрузка YAML-документов в Python
Выбор класса загрузчика
Сравнение возможностей загрузчиков
Изучение небезопасных возможностей загрузчиков
Загрузка документа из строки, файла или потока
Загрузка нескольких документов
Запись объектов Python в YAML-документы
Выбор класса дампера
Запись в строку, файл или поток
Запись нескольких документов
Настройка форматирования с дополнительными параметрами
Запись пользовательских типов данных
Разбор YAML-документов на низком уровне
Токенизация YAML-документа
Анализ потока событий
Построение дерева узлов
Заключение
Это был краткий обзор YAML и его использование в Python с помощью библиотеки PyYAML. После овладения основами работы с YAML, вы сможете использовать этот мощный формат данных для конфигурации, сериализации и других задач ваших проектов на Python.