Пропустить до содержимого

Как использовать библиотеку pyyaml?

[

YAML: The Missing Battery in Python

by Bartosz Zaczyński intermediate

Table of Contents

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.