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

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

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

  • csvkit Разрешение отклонено
  • Почему эта команда bash не запускается при вызове python?
  • не удается найти документацию по json.tool
  • Центр программного обеспечения не открывается в Linux Mint
  • Не удается удалить принадлежащую папке через FTP
  • Почему работает «echo os.system (« / bin / bash »)?
  • Я хотел бы узнать о других лучших способах (если они есть) для хранения данных в API-интерфейсах командной строки. Любое предложение было бы полезно.

  • Ошибка qmake при установке PyQt5
  • Почему существует EOF в середине аргументов?
  • Служба Systemd Python не отправляет весь вывод в syslog
  • Один лайнер для включения некоторых SCL и виртуальной среды python?
  • Надежное обнаружение файлов разработки Python 3
  • Удалить узел XML, содержащий определенный элемент
  • One Solution collect form web for “Способы хранения данных для API командной строки”

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

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

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

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

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

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