mirror of
https://github.com/kennethreitz/python-guide.git
synced 2026-06-05 14:50:19 +00:00
43 lines
1.2 KiB
ReStructuredText
43 lines
1.2 KiB
ReStructuredText
==================
|
|
Data Serialization
|
|
==================
|
|
|
|
.. image:: /_static/photos/33467946364_3e59bd376a_k_d.jpg
|
|
|
|
What is data serialization?
|
|
---------------------------
|
|
|
|
Data serialization is the concept of converting structured data into a format
|
|
that allows it to be shared or stored in such a way that its original
|
|
structure to be recovered. In some cases, the secondary intention of data
|
|
serialization is to minimize the size of the serialized data which then
|
|
minimizes disk space or bandwidth requirements.
|
|
|
|
Pickle
|
|
------
|
|
|
|
The native data serialization module for Python is called `Pickle
|
|
<https://docs.python.org/2/library/pickle.html>`_.
|
|
|
|
Here's an example:
|
|
|
|
.. code-block:: python
|
|
|
|
import pickle
|
|
|
|
#Here's an example dict
|
|
grades = { 'Alice': 89, 'Bob': 72, 'Charles': 87 }
|
|
|
|
#Use dumps to convert the object to a serialized string
|
|
serial_grades = pickle.dumps( grades )
|
|
|
|
#Use loads to de-serialize an object
|
|
received_grades = pickle.loads( serial_grades )
|
|
|
|
Protobuf
|
|
--------
|
|
|
|
If you're looking for a serialization module that has support in multiple
|
|
languages, Google's `Protobuf
|
|
<https://developers.google.com/protocol-buffers>`_ library is an option.
|