問題タブ [shelve]
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プログラムが残したshelve .datファイルを削除する簡単な方法は?
shelve
そのため、実行後に関数から.datファイルを残してしまうpythonプログラムがあります。完了したら、プログラムでそのファイルを削除またはクリアしたいと思います。私の教科書には、.dat ファイルの作成方法のみが記載されており、消去方法は記載されていません。これを処理するための適切なコマンドはありますか? プログラムが完了するまで実行した後は、.dat ファイルは必要ありません。
python - Shelve は大きな辞書には遅すぎます。パフォーマンスを改善するにはどうすればよいですか?
Python を使用してテーブルを保存していますが、永続性が必要です。
基本的に、テーブルを辞書文字列として数値に保存しています。そして全体が棚で保管されています
そうしないとシステムが不安定になる傾向があることがわかったので、私は慣れていますwriteback
。True
計算の後、システムはデータベースを閉じて、元に戻す必要があります。現在、データベース (テーブル) は約 540MB で、かなり時間がかかります。テーブルが約 500MB に成長した後、時間は爆発的に増加しました。しかし、もっと大きなテーブルが必要です。実際、私はそれらのうちの2つが必要です。
私はおそらく間違った形式の持続性を使用しています。パフォーマンスを向上させるにはどうすればよいですか?
python - Python Pickleを利用したWebサイトの作成に何か問題はありますか?
私はかなり前からこのアイデアをいじっていますが、それを実行している人々に関する情報は見ていません。1つのオブジェクトをロードして変更する必要がある小さなWebサイトプロジェクトがあります。このオブジェクトは非常に単純であり、数kbを超えてはなりません。この少量のデータに対してDBを実行する代わりに、このデータを使用pickle
および/またはshelve
保存してロードしてみませんか?プロジェクトにBottleやFlaskなどのマイクロWebフレームワークを使用することを計画しています。
このメソッドを使用してデータをロードしない理由はありますか?Apacheの起動時にのみpickleファイルがロードされるため、速度が影響を受けることはないと思います(データベースにクエリを実行するよりも高速です)。
ご入力いただきありがとうございます。
python - クラス内のすべての変数を出力しますか?-Python
クラス内に格納されているデータにアクセスできるプログラムを作成しています。たとえば、私はこのクラスを持っています:
したがって、これを使用して、次のような単一の変数を呼び出すことができます。
しかし、すべての変数を出力したい場合は、少し迷います。
私が実行した場合:
私は得る:
しかし、それらの実際のデータを印刷できるようにしたいと思います。
これどうやってするの?
前もって感謝します!
python - シェルブで整数キーを取得するにはどうすればよいですか?
整数キーをシェルブに保存したい。しかし、整数キーをシェルブに保存しようとすると、エラーが発生します
私のコード:
プログラムに何か問題があるのでしょうか、それともシェルブが整数キーをまったくサポートしていないのでしょうか?
編集1:
プログラムでは、ID をキーとして別の辞書内に ID と名前の辞書を格納しようとしています。そして、それをファイルに保存しようとしています。
shelve と一緒に Recno または Queue DB を使用する必要がありますか? 私は初心者で、物事が混乱しています。
質問がはっきりしない場合はお知らせください。
ありがとう。
python - 棚にあるデータをどのように変更できますか?
次のコードを使用して棚を開きました。
シェルフに値を追加することはできますが、値を変更することはできません。 シェルフに存在するデータを変更したい関数Deposit()を定義しましたが、次のエラーが発生します:
これが私の機能です:
Pythonは初めてです。助けてください。間違っている場合は訂正してください。このコードの機能について少し説明してもらう必要があります。混乱しています。
python - Linuxディスクバッファキャッシュは、python cPickleを棚上げよりも効率的にしますか?
すべてのオブジェクトを 1 つの大きなシェルフに格納するのではなく、頻繁にアクセスされる Python オブジェクトを個別の cPickle ファイルとして格納する場合、Linux ディスク バッファ キャッシュにより、IO はより効率的ですか?
効率に関して、これら 2 つのシナリオでディスク バッファー キャッシュの動作は異なりますか?
何千もの大きなファイル (通常は約 100Mb、場合によっては 1Gb) が存在する可能性がありますが、大量の RAM (64 Gb など) があります。
python - 漬物と棚の違いは何ですか?
初めてオブジェクトのシリアル化について学んでいます。モジュール pickle と shelve の違いを読んで「グーグル」しようとしましたが、それを理解しているかどうかわかりません。いつどちらを使用するのですか?Pickle は、すべての python オブジェクトを、ファイルに永続化できるバイト ストリームに変換できます。では、なぜモジュールの棚が必要なのですか? ピクルの方が早いんじゃない?
python - Pythonシェルフの破損を防ぐ
シェルフファイルの破損を防ぐにはどうすればよいですか?棚はほとんどの場合閉じてから、値を読み取ったり編集したりする必要がある場合にのみ開く必要がありますか?
python - Pythonで大きな(〜10 GB)リストを保存してアクセスする方法は?
自然言語処理の研究に使用している文字列のセットがたくさんあるので、Pythonで保存するための良い方法が欲しいです。
pickleを使用することもできますが、リスト全体をメモリにロードすることは不可能です(私は信じています)。これは、約10 GBの大きさであり、メインメモリがそれほど多くないためです。現在、リストはシェルフライブラリに保存されています...シェルフは文字列「0」、「1」、...、「n」でインデックス付けされていますが、これは少し不格好です。
そのようなオブジェクトを単一のファイルに保存し、それでもランダムに(っぽい)アクセスできるより良い方法はありますか?
最良のオプションは、それを複数のリストに分割することかもしれません。
ありがとう!