私は、pickle の Python ドキュメントは示していますが、まだ少し混乱しています。新しいファイルを書き込んでから、pickle を使用して辞書をダンプするサンプル コードは何でしょうか。
ベストアンサー1
これを試して:
import pickle
a = {'hello': 'world'}
with open('filename.pickle', 'wb') as handle:
pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL)
with open('filename.pickle', 'rb') as handle:
b = pickle.load(handle)
print(a == b)
上記のソリューションには、オブジェクトに固有のものは何もありませんdict
。この同じアプローチは、任意のクラスのインスタンスや任意の複雑なデータ構造のネストを含む、多くの Python オブジェクトで機能します。たとえば、2 行目を次の行に置き換えます。
import datetime
today = datetime.datetime.now()
a = [{'hello': 'world'}, 1, 2.3333, 4, True, "x",
("y", [[["z"], "y"], "x"]), {'today', today}]
True
も同様の結果を生成します。
一部のオブジェクトは、その性質上、pickle 化できません。たとえば、開いているファイルへのハンドルを含む構造体を pickle 化しても意味がありません。