問題タブ [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でsudsオブジェクトをシリアル化する
さて、私はPythonでより良くなるように取り組んでいるので、これが私が最初にやっていることを実行する正しい方法であるかどうかはわかりませんが、これが私の現在の問題です...
SOAPメソッドを介していくつかの情報を取得する必要があり、現在は情報の一部のみを使用しますが、将来の使用のために結果全体を保存します(サービスの使用はできるだけ少なくする必要があります)。私が考えたサービスにアクセスするための最良の方法を探すことは、行く方法であり、それは単純で、データを取得するための魅力のように機能しました。しかし今、私は結果をどうにかして保存したいと思います。後でそれを引き出して同じように使用できるように、できればシリアル化/データベースに保存します。
これを行うための最良の方法は何ですか、pickle / jsonはオプションではないように見えますか?ありがとう!
更新「泡の結果をピクルスにするにはどうすればよいですか?」 のトップアンサーを読んでください。なぜこれがオプションではないのかについてのより良いアイデアを私に与えてくれます、私は私が必要な情報で基本的なオブジェクトを再作成するのに行き詰まっていると思いますか?
python - djangoモデルオブジェクトのピクルスをカスタマイズする方法
私のアプリは「ユーザーごとのセッション」を使用して、同じユーザーからの複数のセッションが状態を共有できるようにします。オブジェクトをピクルスにすることで、djangoセッションと非常によく似た動作をします。
djangoモデルオブジェクトを参照する複雑なオブジェクトをピクルスにする必要があります。標準のピクルスプロセスでは、非正規化されたオブジェクトがピクルスに保存されます。そのため、データベースでピクルスとピクルス解除の間にオブジェクトが変更された場合、モデルは古くなっています。(これはメモリ内のオブジェクトにも当てはまりますが、ピクルスはそれに対処するのに便利な時期です。)
この複合体をデータベースに保存する方が明らかにクリーンですが、実用的ではありません。そのためのコードは、プロジェクトが進展するにつれて必然的に急速に変化しています。オブジェクトのデータモデルが変更されるたびにデータベーススキーマを更新する必要があると、プロジェクトの速度が大幅に低下します。
だから私が欲しいのは、完全なdjangoモデルオブジェクトをピクルスにしない方法です。代わりに、そのクラスとIDを保存し、ロード時にデータベースからコンテンツを再フェッチします。このクラスにカスタムピクルスメソッドを指定できますか?ピクルスを実行する方法がある場合は、dbからの遅延フェッチを処理するためにdjangoモデルの周りにラッパークラスを作成できてうれしいです。
ruby-on-rails - キュウリとピクルスでidを記録する【Rails】
Cucumber、Webrat、Pickle を組み合わせて使用しています。シナリオを書くときは、次のようなことができます。
に注意してfor that product
ください。これは pickle が提供するもので、存在を確認している製品のレコードを参照するのに非常に便利です。ただし、最後の行は機能していません。
基本的には自分がそのレコードのショーページであることを確認しようとしていますが、ID を持っていないため、参照する方法がわかりません。
何か助けはありますか?ありがとう!
ruby-on-rails - キュウリ レコード ID
Cucumber で次のように指定します。
そのIDはどうすればわかりますか?
ありがとう!
django - pickle 化されたデータの保存中に DjangoUnicodeDecodeError
dict
実行した後にデータベースに保存しようとしている単純なオブジェクトがありますpickle
。Django はこのエラーをエンコードしようとしないようです。私はMySQLで確認しましたが、エラーがスローされる前にクエリがそこに到達していないため、それが問題だとは思いません. dict
私が保存しているのは次のようになります。
スローされるエラーは次のとおりです。
「utf8」コーデックは位置 52 ~ 53 のバイトをデコードできません: 無効なデータです。
位置 52-53 は、\xd1
ピクルされたデータ内の (Ñ) の最初のインスタンスです。
これまで、StackOverflow を掘り下げて、オブジェクトのデータベース エンコーディングが間違っているといういくつかの質問を見つけました。MySQL クエリがまだないため、これは役に立ちません。これは、データベースの前に発生しています。また、ピクルス化されたデータの Unicode エラーを検索する際にも、Google はあまり役に立ちませんでした。
Ñ を使用しない場合、このコードは問題なく動作することはおそらく言及する価値があります。
python - クラス定義のピクル
クラス定義をピクルする方法はありますか?
私がやりたいのは、定義をピクルして (動的に作成される可能性があります)、TCP 接続を介して送信し、インスタンスを相手側で作成できるようにすることです。
クラスが依存するモジュールやグローバル変数など、依存関係がある可能性があることを理解しています。これらもピクルス化の工程でまとめたいのですが、依存関係の自動検出については気にしていません。
python - Pythonで改行を含むJSONファイルをシリアライズする
次の関数を使用して、json と jsonpickle を使用してオブジェクトをファイルにシリアル化することがあります。
問題は、たとえば "json_serialize(mydict, myfilename)" を使用して辞書をシリアル化すると、シリアル化全体が 1 行に表示されることです。これは、CSV ファイルの場合のように、エントリを手動で検査するためにファイルを grep できないことを意味します。オブジェクトの各要素 (dict の各エントリやリストの各要素など) が JSON 出力ファイルの個別の行に配置されるようにする方法はありますか?
ありがとう。
python - Pythonでのクラスターコンピューティングのための高速JSONシリアル化(およびPickleとの比較)?
データポイントのセットがあり、それぞれが辞書で記述されています。各データポイントの処理は独立しており、それぞれを個別のジョブとしてクラスターに送信します。各データポイントには一意の名前があり、クラスター送信ラッパーは、データポイントの名前とすべてのデータポイントを説明するファイルを受け取るスクリプトを呼び出すだけです。次に、そのスクリプトはファイルからデータポイントにアクセスし、計算を実行します。
各ジョブは、実行するポイントを取得するためだけにすべてのポイントのセットをロードする必要があるため、ポイントのセットを記述したファイルを簡単に取得できる形式にシリアル化することで、このステップを最適化したいと思いました。
次の方法を使用してJSONpickleを使用して、ファイルへのすべてのデータポイントを記述した辞書をシリアル化してみました。
辞書には非常に単純なオブジェクト(リスト、文字列、浮動小数点数など)が含まれており、合計54,000個のキーがあります。jsonファイルのサイズは約20メガバイトです。
このファイルをメモリにロードするのに約20秒かかりますが、これは私には非常に遅いようです。同じオブジェクトでpickleを使用するように切り替えたところ、サイズが約7.8メガバイトで、約1〜2秒でロードできるファイルが生成されることがわかりました。これは大幅な改善ですが、それでも小さなオブジェクト(100,000エントリ未満)のロードはより高速であるように思われます。それを除けば、pickleは人間が読める形式ではありません。これは、私にとってJSONの大きな利点でした。
JSONを使用して同様またはより良い速度を上げる方法はありますか?そうでない場合は、これを構築するための他のアイデアがありますか?
(各イベントを記述したファイルを個別のファイルに単純に「スライス」し、それをクラスタージョブでデータポイントを実行するスクリプトに渡す正しい解決策ですか?ファイルの急増につながる可能性があるようです)。
ありがとう。
python - PyML.classifiers.multi.OneAgainstRest(SVM())オブジェクトを保存しますか?
PYMLを使用して、マルチクラス線形サポートベクターマシン(SVM)を構築しています。SVMをトレーニングした後、分類器を保存できるようにしたいと思います。これにより、以降の実行で、再トレーニングせずに分類器をすぐに使用できます。残念ながら、.save()関数はその分類子に実装されておらず、それを(標準のpickleとcPickleの両方で)pickleしようとすると、次のエラーメッセージが表示されます。
誰かがこれを回避する方法またはこの問題のない代替ライブラリを知っていますか?ありがとう。
編集/更新
私は現在、次のコードで分類子をトレーニングして保存しようとしています。
現在、ピクルスではなくPyML保存メカニズムを使用して保存していることに注意してください。また、トレーニング関数に「saveSpace=False」を渡していることに注意してください。ただし、まだエラーが発生しています。
ただし、saveSpace = Falseを渡しています...では、分類子を保存するにはどうすればよいですか?
PS
私がこれを使用しているプロジェクトはpyimgattrです。完全なテスト可能な例が必要な場合に備えて、プログラムは「./pyimgattr.pytrain」で実行されます...このエラーが発生します。また、バージョン情報に関する注意:
python - 自分をピクルスにする方法は?
クラスのピクルを行うだけの Save および Load 関数をクラスに実装する必要があります。しかし、以下のように「self」を使用することはできないようです。どうすればこれを行うことができますか?