IV. Запись и передача данных#

В этой части книги рассматриваются вопросы сохранения и передачи данных. Данными могут быть, например:

  • вывод команд

  • обработанный вывод команд в виде словаря, списка и подобного

  • информация полученная из системы мониторинга

До сих пор рассматривался только самый простой вариант - запись информации в обычный текстовый файл.

В этой части рассматривается чтение и запись данных в форматах CSV, JSON и YAML:

  • CSV - это табличный формат представления данных. Он может быть получен, например, при экспорте данных из таблицы или базе данных. Аналогичным образом данные могут быть записаны в этом формате для последующего импорта в таблицу.

  • JSON - это формат, который очень часто используется в API. Кроме того, этот формат позволит сохранить такие структуры данных как словари или списки в структурированном формате и затем прочитать их из файла в формате JSON и получить те же структуры данных в Python.

  • Формат YAML очень часто используется для описания сценариев. Например, он используется в Ansible. Кроме того, в этом формате удобно записывать вручную параметры, которые должны считывать скрипты.

Примечание

Python позволяет записывать объекты самого языка в файлы и считывать их с помощью модуля Pickle, но этот аспект в книге не рассматривается.

Также в этой части рассматриваются базы данных. Хотя данные можно записать с соблюдением структуры и в CSV или JSON, запрашивать нужную информацию из файлов в этом формате не всегда удобно. Особенно, когда речь идет о более сложных запросах, в которых указаны несколько критериев.

Для задач такого рода отлично подходят базы данных. В разделе 25 рассматривается СУБД SQLite, а также основы языка SQL.