В своей последней статье я много говорил о формате JavaScript Object Notation (JSON) для обмена данными через Интернет. В этой статье я расскажу о другом популярном формате файлов для обмена и транспортировки данных — формате YAML. YAML — это рекурсивная аббревиатура, означающая, что Yaml не является языком разметки. Он используется для написания файлов конфигурации и широко используется в различных инструментах и ​​приложениях DevOps.

YAML — это язык сериализации данных, что означает, что приложения, написанные с использованием разных технологий и языков с разными структурами, могут передавать данные друг другу, используя общий и стандартный формат, такой как XML и JSON. Расширение файла YAML — .yaml и .yml. Он удобен для чтения и интуитивно понятен.

Основы синтаксиса YAML

YAML аналогичен словарю Python, он написан в формате «ключ-значение», при этом отступы очень важны при написании файлов YAML. Основные типы данных в файле YAML: Strings, int, float, boolean, list, dictionary.

Струны

В YAML строки записываются с кавычками или без них. пример строковой точки данных в YAML:

Мы записали объект в файл YAML выше, каждая пара ключ-значение называется объектом. Ключи могут быть только строками, а значения могут быть любыми другими типами данных.

Мы также можем записывать строки в несколько строк с помощью скаляра литерального блока | и скаляра сложенного блока > , скаляр литерального блока включает в себя символ новой строки, а скаляр свернутого блока сворачивает символы новой строки в пробелы.

Числа

Числа в YAML могут быть целыми или плавающими, они выражаются десятичными дробями с учетом экспоненциальной записи. Ниже приведен пример объектов с числовыми типами:

Логическое и нулевое значение

Синтаксис YAML также имеет логический тип данных и нулевой тип, аналогичный типу None в Python. Логический тип в YAML немного гибок: это true, on, yes, который похож на True в Python, а также false, off, no, похожие на False в Python.

Список

Тип данных списка в YAML записывается либо как массив с квадратной скобкой [], либо с тире -.

Словарь

Словарь в YAML также называется объектом. Они представлены в виде пары ключ-значение с отступами, что очень важно в синтаксисе YAML.

Оба контента, написанные в блоке кода, — это одно и то же.

Якоря и псевдонимы

Синтаксис YAML также имеет функцию, позволяющую пользователям сохранять контент в переменной с помощью привязки и псевдонима. Переменные сохраняются с символом амперсанда (&), а ссылки на них обозначаются символом звездочки (*).

Мы объявили массив со значением ключа item и привязали его к переменной с именем item_anchor. Затем мы ссылаемся на эту переменную в нашем объекте tool в строке 3 файла.

Комментарии

Комментарии в YAML записываются с помощью хэштега (#), как и в Python.

Мы написали YAML-файл облачных провайдеров в блоке кода выше. Вы можете видеть, что мы начали код с комментария, показывающего, что представляет собой содержимое файла.

Чтобы завершить статью, мы поместим весь контент, который мы написали на данный момент, в файл main.yaml и просмотрим его с помощью Python. Напишите содержимое, как показано ниже:

Затем давайте напишем сценарий Python для чтения файла main.yaml как словаря Python.

Мы импортировали модуль Python yaml, а также модуль pprint, чтобы распечатать результаты в более читаемом формате. Затем мы читали наш файл main.yaml и выводили его на экран. Результат, который мы получаем, показан ниже:

Мы можем увидеть выходные данные и то, как типы данных, которые мы обсуждали ранее, представлены в выходных данных.

Заключение

Мы подошли к концу статьи и серии о форматах файлов. Понимание формата файлов YAML и того, как читать и записывать файлы YAML, является преимуществом для людей, желающих углубиться в области инженерии данных, облачной разработки и DevOps в технологической сфере. В Интернете есть множество файлов, написанных на языке Yaml, вы можете изучить их, чтобы овладеть этим навыком.

Спасибо за чтение!