【发布时间】:2012-01-02 19:46:57
【问题描述】:
我希望对 Python 中的书架/数据库有一点建议。
问题:我在 mac 上创建了一个数据库,我想在 windows 7 上使用它。我使用 Python 3.2、MacOS 10.7 和 win 7。
当我在 Mac 上打开并保存我的书架时,一切都很好。我得到一个扩展名为“.db”的文件。在我的 windows-python 上它无法识别。但是,我可以在 pc 上创建一个新数据库并获取带有“.bak、dat、.dir”扩展名的文件。
我猜pc上的python没有我的mac-python使用的同一个底层数据库?
我不确定这里的正确方法是什么,但也许我可以:
更改我的系统使用的默认数据库? 找出我的 mac-python 使用哪个 db 并将其添加到 pc 上? 改变我将数据存储在一起的方式?
速度不是问题,数据大小为几兆,访问频率不高。
希望能在那里找到帮助。提前致谢 - 非常感谢任何帮助。
/埃斯本
我在做什么:
Import shelve
db = shelve.open('mydb')
entries = db['list']
db.close
这很简单,我在 mac 上有一个名为“mydb.db”的工作 db 文件,但是当我尝试在 pc-python 上打开它时,我得到:
Traceback(最近一次调用最后一次): 文件“/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/dbm/init.py”,第107行,其中db f = io.open(文件名 + ".pag", "rb") IOError: [Errno 2] 没有这样的文件或目录:'mydb.pag'
【问题讨论】:
-
你说它在 Windows 上无法识别是什么意思?你是如何尝试打开文件的?你能展示一些示例代码吗?
标签: python database cross-platform python-3.x shelve