• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

python pickle

date: 2022-12-11 excerpt: python pickleの使い方

tag: pythonpickle


python pickleの使い方

概要

  • オブジェクトをシリアライズするライブラリ
    • オブジェクトで参照されている別のオブジェクトまで辿ることができるので、deep copy的なことをしている
  • dumpsの戻り値はbytes型なので、stdout/stdinをやり取りするにはbase64などでasciiに変換する必要がある

基本的な使用法

オブジェクトのシリアライズ

import pickle
ser = pickle.dumps([1, 2, 3])

オブジェクトのデシリアライズ

obj = pickle.loads(ser)

シリアライズデータをasciiに変換する

import pickle
import base64

def serialize(obj: Any) -> str:
    return base64.b64encode(pickle.dumps(obj)).decode()

def deserialize(ser: bytes) -> Any:
    return pickle.loads(base64.b64decode(bytes(data, "utf8")))

参考

  • 297. Serialize and Deserialize Binary Tree/LeetCode


pythonpickle Share Tweet