Python のシェルフ/データベースに関するちょっとしたアドバイスを期待しています。
問題: Mac で作成したデータベースを Windows 7 で使用したいのですが、Python 3.2、MacOS 10.7、win 7 を使用しています。
Mac で棚を開いて保存すると、すべて問題なく動作します。「.db」拡張子のファイルを取得します。私のwindows-pythonでは認識されません。ただし、PC で新しいデータベースを作成し、「.bak、dat、.dir」拡張子のファイルを取得できます。
PC 上の python には、私の mac-python が使用するのと同じ基礎となるデータベースがないと推測していますか?
ここでどちらが正しいアプローチかはわかりませんが、おそらく次のことができます。
システムが使用する default-db を変更しますか? 私のmac-pythonが使用するデータベースを見つけて、それをPCに追加しますか? データをまとめて保存する方法を変更しますか?
速度は問題ではありません。データサイズは数メガバイトで、頻繁にアクセスされるわけではありません。
そこに救いの手を見つけてください。事前に感謝します-どんな助けでも大歓迎です。
/エスベン
私がやっていること:
Import shelve
db = shelve.open('mydb')
entries = db['list']
db.close
それは非常に簡単です.Macには「mydb.db」という作業中のdbファイルがありますが、pc-pythonでそれを開こうとすると、次のようになります:
トレースバック (最新の呼び出しが最後): ファイル " /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/dbm/ init .py"、107 行目、その中の db f = io.open(filename + " .pag"、"rb") IOError: [Errno 2] そのようなファイルまたはディレクトリはありません: 'mydb.pag'