PythonでMessagePackを使用して、Mapのシリアライズと復元

JavaでMessagePackを使用して、シリアライズとデシリアライズを試してみました。
JavaでMessagePackを使用して、Mapのシリアライズと復元

Pythonでも同じ事を試してみます。
使用するOSはUbuntu 12.10です。


ライブラリのインストール



こちらを参考にしました。
https://github.com/msgpack/msgpack-python

easy_installでライブラリのインストールを行いました。


$ sudo easy_install msgpack-python




Pythonコンソールで、「import msgpack」してエラーが出なければインストール成功です。


$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import msgpack
>>>






シリアライズ、デシリアライズ



サンプルソースはこのようになりました。


  1. # -*- coding:utf-8 -*-
  2. import msgpack
  3. # 変換するデータを用意
  4. data = {u'key':u'value', u'日本語キー':u'日本語の値'}
  5. # シリアライズ実行
  6. packed = msgpack.packb(data)
  7. # 変換後のバイト長表示
  8. print(len(packed))
  9. # デシリアライズ
  10. ret = msgpack.unpackb(packed, encoding='utf-8')
  11. # ちゃんと復元できたか確認
  12. print(u'key:' + ret[u'key'])
  13. print(u'日本語キー:' + ret[u'日本語キー'])




お手軽にシリアライズできます。
これは便利。


$ python sample.py
43
key:value
日本語キー:日本語の値

関連記事

コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ