問題タブ [pickle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 2.6 cPickle.load が EOFError になる
HIGHEST_PROTOCOL を使用して、cPickle を使用して整数のリストをピクルします。
次のコードを使用してこれを unpickle しようとすると、EOFError が発生します。unpickle する前にオフセット 0 に「シーク」しようとしましたが、エラーは解決しません。
何か案は?
ruby-on-rails - キュウリと factory_girl で pickle を使用して、関連付けられたモデルを作成し、パラメーターをネストされたモデルに渡す
私は次のモデルを持っています:
そして、私は次の工場を持っています:
これが私の特徴です:
これを改善する方法はありますか?私はこのようなものを書くことができるようにしたいと思います:
そして、次の行に沿って何かを作成します。
ネストされたマッチャーが必要です。このためのステップを提案できますか?
または、これを達成する別の方法を提案できますか?
python - オブジェクトをピクルスしようとすると、クラスが__slots__を定義するときにエラーが発生するのはなぜですか?
定義した(新しいスタイルの)クラスのオブジェクトをピクルスにしようとしています。しかし、次のエラーが発生します。
__slots__
クラスで明示的に定義していません。私が暗黙のうちにそれを定義したことはありますか?これを回避するにはどうすればよいですか?定義する必要があります__getstate__
か?
更新: gnibblerは良い例を選びました。私がピクルスしようとしているオブジェクトのクラスは、ソケットをラップします。(今私はそう思います)ソケットは定義しますが、正当な理由は__slots__
ありません。__getstate__
プロセスが終了すると、別のプロセスが前のプロセスのソケット接続を選択解除して使用することはできないと思います。したがって、Alex Martelliの優れた回答を受け入れている間は、オブジェクト参照を「共有」するためにピクルスにするのとは異なる戦略を追求する必要があります。
python - Python でのカスタム インスタンスの unpickling: オブジェクト ディクショナリを更新する必要がありますか?それとも置き換えても問題ありませんか?
特定のクラスのオブジェクトをピクル解除する方法を定義するとき、 __setstate__ を介して、安全に実行できることを収集します
pickle 状態がディクショナリの場合。これは、stackoverflow の回答で見たものです。
ただし、これは、呼び出されself.__dict__
たときに何らかのデータが含まれている場合に備えて取られる安全対策ですか? __setstate__
または、単に実行するよりも高速でクリーンですか
古いものを強制self.__dict__
的にガベージコレクションするのはどれですか?
python - ピクルスまたはjson?
キーが s 型で値がs の小さなdict
オブジェクトをディスクに保存し、それを復元する必要があります。このようなもの:str
int
最適なオプションとその理由は何ですか? pickle
またはでシリアル化しsimplejson
ますか?
Python 2.6 を使用しています。
python - cPickle の使用に関する問題
この例を機能させるのを手伝ってもらえますか?
シリアル化された dict が存在する場合はロードし、変更して再度ダンプしたいと思います。ファイルを開くために使用しているモードに問題があると思いますが、正しい方法がわかりません。
2 回実行してエラーを確認します。
django - suds-objectのキャッシング。Unicodeの問題
私はsudshttps : //fedorahosted.org/suds/を使用してSOAPを使用してデータをフェッチしています。データをフェッチしている場所からサーバーに過負荷がかからないように、(memcachedを使用して)結果をキャッシュしたいと思います。問題は、キャッシュされたデータをフェッチするときです。フェッチは正常に機能しますが、djangoはデータ(force_unicode)をデコードしようとし、次のように失敗します。
これは、結果をキャッシュするために使用するものです(ここで、result = suds-object)。cPickleを使用します(念のためにpickleを試しましたが、成功しませんでした)。
泡の応答はユニコードです。
python - cPickle を使用して 2.4 で array.array をピッキングする
私はpython 2.4で構築されたプロジェクトに取り組んでいます(これは組み込みのpythonプロジェクトであるため、使用するpythonのバージョンを選択できません)。アプリケーション全体で、array.array
データを保存するために使用します。
array.array
オブジェクトの酸洗いのサポートは、2.5 でpickle
(および) に追加されました。cPickle
純粋な python pickle クラス (配列を処理するために Pickler/Unpickler をサブクラス化) を使用する場合、2.4 で実行可能な回避策がありますが、これは cPickle では機能しません (パフォーマンスの問題のためにこれが必要です)。
助言がありますか?
編集 - 解決策:
これは、機能しているように見える最終的なコードです (提案に感謝します):
python - Pythonでのピクルスからオブジェクトのフィールドを除外します
クラスのインスタンスで特定のフィールドをピクルスにすることは避けたいと思います。現在、ピクルスにする前に、これらのフィールドを[なし]に設定しましたが、もっとエレガントな解決策があるかどうか疑問に思います。
python - 漬物のバージョン管理
pickle
/を使用してシリアル化され、ディスクに格納されている多数のオブジェクトがあるプロジェクトに取り組んでいますcPickle
。
プロジェクトの存続期間が進むにつれて(現場の顧客にリリースされた後)、将来の機能/修正により、永続化されたオブジェクトの一部の署名を変更する必要が生じる可能性があります。これは、フィールドの追加、フィールドの削除、またはデータの不変条件の変更でさえあり得ます。
serialVersionUID
( Javaのように)特定のバージョンを持つものとしてピクルスにされるオブジェクトをマークする標準的な方法はありますか?基本的に、Fooバージョン234のインスタンスを復元しているが、現在のコードが236である場合、unpickleに関する通知を受け取りたいと思います。先に進んで、独自のソリューションを展開する必要があります(PITAの可能性があります)。
ありがとう