問題タブ [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 に答える
745 参照

python - macOS で Python 3.6.8 に dbm.gnu を使用する

macOS で Python 3.6.8 の dbm.gnu を使用すると問題が発生します。conda を使用して Python 仮想環境に gdbm をインストールしましたが、dbm.gnu を呼び出そうとすると、次のエラー メッセージが表示されました。

それを機能させる信頼できる方法はありますか?cache = Falseastropyから呼び出すときに設定することでキャッシュをオフにすることができますdownload_file...しかし、私は本当に設定したいと思いますcache = True。どんな助けでも大歓迎です。

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

perl - DBM ファイルは、それを作成したマシンでは Perl スクリプトで読み取ることができますが、他のマシンでは「ファイルの種類または形式が不適切です」

DB_Fileモジュールを使用して参照ファイルの DBM インデックスを作成する Perl スクリプトがあります。次に、別の Perl スクリプトがその DBM ファイルを使用します。同じマシンでセットアップ スクリプトと使用スクリプトの両方を実行すると、問題なく動作します。

しかし、マシン A で DBM ファイルを作成してマシン B にコピーすると、マシン B の使用スクリプトは DBM を使用できません。

  • 両方のマシンの DB_File バージョンは 1.852 です。
  • DBM ファイルは 0666 パーミッションで作成され、確かに ls -ll からのパーミッション文字列は "-rw-r--r--" です。
  • マシン A には Perl v5.26.2 があり、B には v5.18.4 があります。このミスマッチが問題なのでしょうか? B は Mac で、新しいバージョンの Perl を入手するのは簡単ではないことを読みました。

参照ファイル (names.txt):

DBM を作成するセットアップ スクリプト:

そして最後に、これは DBM を使用する使用スクリプトです。

使用スクリプトが DBM ファイルにアクセスできる場合、次の行が返されます。

Found a name for ID 9606: Homo sapiens

使用スクリプトが DBM ファイルにアクセスできない場合、次のいずれかを返します (DBM が A からのものである場合、マシン B で):

Can't open names.dmp_IDs.dbm: Inappropriate file type or format

または、これ (マシン A で DBM が B からのもの):

Can't open names.dmp_IDs.dbm:

A にエラー メッセージが表示されない理由がわかりません。アクセスが制限されている Linux サーバーです。