Как читать и писать с помощью msgpack?

Как сериализовать/десериализовать словарь data с помощью msgpack?

Ответ 1

Документы Python, кажется, не так хороши, так что вот моя попытка.

Установка

pip install msgpack-python

Чтение и запись msgpack

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import msgpack

# Define data
data = {'a list': [1, 42, 3.141, 1337, 'help'],
        'a string': 'bla',
        'another dict': {'foo': 'bar',
                         'key': 'value',
                         'the answer': 42}}

# Write msgpack file
with open('data.msgpack', 'w') as outfile:
    msgpack.pack(data, outfile)

# Read msgpack file
with open('data.msgpack') as data_file:
    # data_loaded = json.load(data_file)
    data_loaded = msgpack.unpack(data_file)

print(data == data_loaded)

Альтернативы

Для вашего приложения может быть важно следующее:

  • Поддержка другими языками программирования
  • Производительность чтения/записи
  • Компактность (размер файла)

Смотрите также: Сравнение форматов сериализации данных

Если вы скорее ищете способ создания файлов конфигурации, вы можете прочитать мою короткую статью Конфигурационные файлы в Python