Способы хранения данных для API командной строки

Я разрабатываю API в среде Unix для виртуальных машин. Я должен хранить некоторую информацию в таблице о виртуальных машинах.

В настоящее время я использую словарь python объектов виртуальной машины и сохраняю их в pickle.

Я хотел бы узнать о других лучших способах (если они есть) для хранения данных в API-интерфейсах командной строки. Любое предложение было бы полезно.

  • Python не может импортировать OpenSSL
  • Скрипт для автоматического входа ssh в определенный порт
  • Могу ли я копировать выходные данные из мудреца в буфер обмена?
  • аутентификация веб-браузера
  • Как я могу сделать коммутатор доступным через Интернет, который позволяет пользователям включать или выключать скрипт python?
  • Установите библиотеку python на версию python, отличную от стандартного
  • Как проверить, существует ли процесс в скрипте python?
  • Wireshark: удаленный захват по UART
  • One Solution collect form web for “Способы хранения данных для API командной строки”

    Для приложения, используемого другими, вы, вероятно, не должны использовать рассол, так как он не экономит на загрузке рассола из ненадежных источников (в качестве альтернативы вам нужно будет сделать 100% уверенным, что маринованные данные не могут быть изменены на диске между записью и чтением).

    Если данные когда-либо нуждаются в модификации пользователями, вы должны взглянуть на их запись с помощью YAML . Реализация Python доступна через PyYAML , но излучатель с более читаемым выходом будет пиамлом .

    Альтернативами являются JSON и большая работа XML.

    Все это требует, чтобы вы выполняли перевод на внутренние типы и из них в типы, поддерживаемые форматом хранения (словари / карты, списки, примитивные типы (ints, string, boolean)).

    YAML также поддерживает определенные пользователем типы с теми же проблемами безопасности, что и маринованные данные Python, но по крайней мере позволяет некоторую безопасную загрузку, то, что рассол не поддерживает. YAML через явные типы пользователей имеет меньше проблем с загрузкой данных после изменения исходной компоновки (переименование модулей, перемещение классов), как вы можете испытать с pickle.

    Linux и Unix - лучшая ОС в мире.