メモ書き:斧頭氷杖だか漬物だかなんだか(pickle)

pythonのpickleの話です。
正直、どういうときに使うものなのかよくらからない。いや、分からないこともないこともないんですけどね。ええ。まあその話は下の方で書くとしまして。

ファイルに保存

import pickle
sepblectus = {"r":"", "o":"", "y":"", "g":"", "b":"Celen", "i":"Kya", "v":"Amy"}
with open("sep.pickle", "wb") as f:
    pickle.dump(sepblectus, f)

pythonオブジェクトならなんでもいい(らしい)。
調べたところ、どうやら別にバイナリモードで保存しなければいけないわけではないらしい。ずいぶん遠回しな書き方ですね。
簡単に言うと「バイナリモードの方が推奨されるのでそっちでやれ。あ、でも強制じゃないよ。」ってわけ。

読み込み

import pickle
with open("sep.pickle","rb") as f:
    d = pickle.load(f)
print(d)
{'r': '', 'o': '', 'y': '', 'g': '', 'b': 'Celen', 'i': 'Kya', 'v': 'Amy'}

「EOFError: Ran out of input」が表示された

pickle用に保存したファイルが空だった時にでるエラーらしい。そげなバカな………!?と思ってファイル確認したらたしかにファイルサイズが0kbだった。(原因未調査)
対処法がここに書いてあるような書いていないような気がしたけどあんまりしっくりこなかったので記憶貯蔵庫には書かない。

で、どういうときに使うの?

平たく言うと、Pythonオブジェクトをファイルとして保存し、呼び出せるようにすることができる形にするためのライブラリという事になります。

分かるようで分かりませんわ。分かるんだけど、完全に理解にしたにならないんですの。

余談

@私
メモ書きのやつ、タグにまとめておいてくれない?後で探す時めんどいんですわ。