gpt4 book ai didi

python - 使用python shelve跨平台

转载 作者:太空狗 更新时间:2023-10-29 18:08:48 25 4
gpt4 key购买 nike

我希望得到一些关于 Python 中的货架/数据库的建议。

问题:我在 mac 上创建了一个数据库,我想在 windows 7 上使用它。我使用 Python 3.2、MacOS 10.7 和 win 7。

当我在 Mac 上打开并保存我的书架时,一切都很好。我得到一个扩展名为“.db”的文件。在我的 windows-python 上,它无法识别。但是,我可以在电脑上创建一个新的数据库并获取扩展名为“.bak、dat、.dir”的文件。

我猜 pc 上的 python 没有与我的 mac-python 使用的相同的底层数据库?

我不确定这里哪种方法是正确的,但也许我可以:

更改我的系统使用的默认数据库?找出我的 mac-python 使用哪个数据库并将其添加到 pc 上?改变我一起存储数据的方式?

速度不是问题,数据大小只有几兆字节,而且访问频率不高。

希望能得到帮助。提前致谢 - 非常感谢任何帮助。

/埃斯本

我在做什么:

Import shelve
db = shelve.open('mydb')
entries = db['list']
db.close

这很简单,我在 mac 上有一个名为“mydb.db”的工作数据库文件,但是当我尝试在 pc-python 上打开它时,我得到:

追溯(最近的调用最后): 文件“/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'

最佳答案

感谢您的回复!

我觉得 python 中的 shelves 似乎不容易被迫使用特定的数据库,但是 pickles 很有魅力。至少来自 mac os -> windows 7。

如此简短的回答:如果你想要便携性,不要使用架子,直接使用泡菜。

/埃斯本

关于python - 使用python shelve跨平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com