python docs によると、pickle はクラス インスタンスを透過的に保存および復元できますが、クラス定義はインポート可能であり、オブジェクトが保存されたときと同じモジュールに存在する必要があります。
クラスが保存されているモジュールに pickler/unpickler を配置できますか?
または、クラスをモジュールに入れる必要がありますか? そしてどうやって?外部モジュールのクラスからオブジェクトをピクル/ピクル解除しようとしています。
質問する
223 次
1 に答える
1
pickle
ピクルをロードしたときにモジュールが再度インポートできる限り、任意の python クラス インスタンスをピクルできます。
load()
使用する Python コードの場所やは問題ではありません。重要dump()
なのは、pickle しようとしているデータを、同じ場所からインポートすることによって後で再度取得できるかどうかだけです。
したがって、foo.bar
クラスSpam
を含むモジュールがある場合、できる限りfrom foo.bar import Spam
そのクラスのインスタンスをピクルすることができます。これは、pickle
後で同じモジュールからそのクラスを再度ロードできるためです。
于 2013-01-15T23:46:40.333 に答える