問題タブ [dbm]

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.

0 投票する
1 に答える
430 参照

perl - DBM::原因不明の深いエラー

DBM::Deepそのため、異なるフォークプロセス間でデータを共有するために使用しています。DBM :: Deepオブジェクトを次のように設定しました:

しかし、スクリプトを実行すると、次のエラーが発生するようです。

したがって、最後のエラーを除くすべてが行116に関係していますが、非常に奇妙なのは、行116が実際にはDBM :: Deep:とは関係がないことです。

だから私はこれが続くことは多くないことを知っていますが、誰かがこれらのエラーまたはこれに似たものに遭遇したことがありますか?DBM :: Deepの使用方法に関して私が見逃しているものはありますか?ありがとう!

0 投票する
1 に答える
365 参照

perl - DBM::Deep が perl ハッシュ参照で動作しない

DBM::Deepハッシュ オブジェクトを次のように使用しています。

ただし、これは機能しません。$dbm はプログラム中に正しい値を保持しますが、終了後は dbm.db が空になり、dbm.db を使用しようとする別のプログラムを起動すると、何もありません。しかし、次のようにハッシュ参照をコピーするたびに (これは 2 レベルの深いハッシュです):

その後、すべてが正しくコピーされ、プログラムの実行後も値が残ります。DBM の作成者は、彼の DBM::Deep オブジェクトが通常のハッシュと同じように機能することを強調しているようですが、これを行うためのより簡単な方法があるかどうかは誰にもわかりませんか? ありがとう!

0 投票する
2 に答える
1937 参照

python - 大きすぎてメモリに保存できないファイルを扱っていますか?

次のような 20 GB のファイルがあります。

読み取り名は必ずしも一意ではないことに注意してください。

たとえば、私のファイルのスニペットは次のようになります

これらの行を保存できるようにしたい

  1. 2 番目の値に基づいてファイルをソートし続ける
  2. ソートされたファイルを反復処理する

これにはデータベースが利用できるようです。

ドキュメントは、 dbmを使用してファイルをソートして反復処理できないことを暗示しているようです。

したがって、 SQLite3で 1) と 2) ができるかどうかは疑問です。ファイルを SQL クエリでソートし、sqlite3 で結果セットを反復処理できることはわかっています。しかし、RAM が 4 GB のコンピュータでメモリ不足にならずにこれを実行できますか?

0 投票する
1 に答える
340 参照

regex - 東京内閣とcygwin

Windows Cygwin でTokyo Cabinetをインストールしようとしていますが、実行する./configureと次のエラーが表示されます。

0 投票する
1 に答える
1672 参照

python - PythonでDBMファイルを効率的に空にする方法は?

DBM モジュールには、キーに格納されている値を削除するコマンドがあります。

しかし、ランタイム エラーが発生するため、このコマンドを反復することさえできません。(RuntimeError: 反復中に辞書のサイズが変更されました。)

DMBファイルを一度に空にする効率的な方法はありますか? 私はPython 3.3を使用しています

0 投票する
1 に答える
735 参照

python - ファイル オブジェクト属性を使用してシェルブ データベース ファイル名を取得することは可能ですか? (パイソン)

shelve モジュールを使用して複数のデータベース ファイルを作成する python3 スクリプトがあります参考までに、 shelve モジュールは、 shelve ソース コードに見られるように、 dbmモジュールをラップします。shell.open() メソッドは、ディスク上にデータベース ファイルを作成するために使用され、目的の出力ファイル パスを引数として受け取ります。ただし、作成されるファイルの名前は、ユーザーのシステムで使用可能な dbm モジュールに依存します。これは、SO: hereの他の場所で説明されているように、動作がプラットフォームに依存しないことを意味します。

ファイル名を収集する簡単な方法を見つけることができませんでした。FileIO クラスの name 属性で実行できるように、シェルフ オブジェクトの属性としてファイル名にアクセスできることを期待していました。オブジェクト属性またはメソッドを介してシェルフ オブジェクトのファイル名を取得するにはどうすればよいですか?

それができない場合は、代わりに自己破壊型のtempfileオブジェクトを shelve.open() 呼び出しに渡すことに頼ることができます。しかし、私はそれを達成する方法について明確ではありません。一時的なシェルフの質問がここで SO で行われていることに注意してください...ただし、ユーザーが fname サフィックスを付加する dbm モジュールを持つシステムを使用している場合、提供された回答は機能しません。

お時間をいただきありがとうございます。

0 投票する
1 に答える
149 参照

php - phpでperlフラットファイルdbを読む

新しい php アプリケーションに移行したい e コマース サイトの一部である古いフラット ファイル perl db があります。

「テーブル」ファイルにファイル拡張子がなく、単なるcsvなどではないように見えるphpで読み取ることは可能ですか?