我希望得到一些关于Python中的书架/数据库的建议。在
问题:我在mac上创建了一个数据库,我想在Windows7上使用它。我使用python3.2、macos10.7和win7。在
当我打开并把书架放在mac上时,一切都很好。我得到了一个扩展名为“.db”的文件。在我的windows python上无法识别。不过,我可以在pc上创建一个新的数据库,并获得扩展名为“.bak,dat,.dir”的文件。在
我猜pc上的python与macpython使用的底层数据库不同?在
我不确定哪种方法是正确的,但也许我可以:
更改我的系统使用的默认数据库? 找出我的mac python使用哪个数据库并将其添加到pc上? 改变我存储数据的方式?在
速度不是问题,数据大小只有几兆字节,而且访问频率不高。在
希望能在那里找到一个帮手。提前谢谢-任何帮助都将不胜感激。在
/埃斯本
我在做什么:
Import shelve
db = shelve.open('mydb')
entries = db['list']
db.close
很直截了当,我有一个正在工作的数据库文件,名为“马来西亚第纳尔“在mac上,但当我尝试在pc python上打开它时,我得到:
回溯(最近一次呼叫): 文件“/库/框架/Python.framework/Versions/3.2/lib/python3.2/dbm/init.py”,第107行,其中 f=io.打开(文件名+“.pag”,“rb”) IOError:[Errno 2]没有这样的文件或目录:'我的数据库.pag'
sqlite3模块是一个跨平台的模块,它甚至受到许多其他语言和工具的支持。在
pickle模块比较简单,而且跨平台。你给它一个对象,它将它转储到一个文件中。没有像sqlite那样的表或行。在
谢谢你的回复!在
我似乎python中的shelves不容易被迫使用特定的db,但是pickles的工作方式很有魅力。至少从mac os->windows 7。在
所以简而言之:如果你想要便携,不要用架子,直接用泡菜。在
/埃斯本
相关问题 更多 >
编程相关推荐