python - ¿Cómo leo y escribo con msgpack?
(1)
¿Cómo serializo / deserializo los
data
un diccionario con
msgpack
?
Los documentos de Python no parecen ser tan buenos, así que aquí está mi intento.
Instalación
pip install msgpack
Leer y escribir 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)
Alternativas
- CSV: formato súper simple ( lectura y escritura )
- JSON: Agradable para escribir datos legibles por humanos; MUY comúnmente utilizado ( leer y escribir )
- YAML: YAML es un superconjunto de JSON, pero más fácil de leer ( leer y escribir , comparación de JSON y YAML )
- pickle: un formato de serialización de Python ( lectura y escritura )
- msgpack ( paquete Python ): representación más compacta ( lectura y escritura )
- HDF5 ( paquete Python ): agradable para matrices ( lectura y escritura )
- XML: existe también * suspiro * ( read y write )
Para su aplicación, lo siguiente puede ser importante:
- Soporte por otros lenguajes de programación.
- Rendimiento de lectura / escritura
- Compacidad (tamaño del archivo)
Ver también: Comparación de formatos de serialización de datos.
En caso de que esté buscando una forma de crear archivos de configuración, puede leer mi breve artículo Archivos de configuración en Python