【发布时间】:2010-09-01 11:06:04
【问题描述】:
我开始开发一个 Python 应用程序,它提供了一个用于编辑各种图形和数字实体的 GUI(如果你必须知道的话,它是一个移动机器人的配置和管理工具)。问题之一是如何存储项目的数据(意思是机器人)。数据量将很低(最大约 10MB)且非常异构(机器人的几何数据、地图、任务、平台日志、记录的传感器数据、项目偏好等)。
我不想开发自己的存储层。项目数据应存储在单个文件中,并且可以从 Python 轻松访问。存储更新应该很便宜:我不想使用明确的“保存”操作,并且更改应该在发生时立即存储。
单个 ZIP 文件可能不实用,并且需要在顶部编写持久层以将应用程序对象映射到存储。 SQLite 是一个明显的候选者,可能使用 SQLAlchemy 作为对象关系层。 ZODB 看起来也很有趣,但到目前为止我还没有使用它的经验。
有什么建议吗?
编辑:当我说“应用程序”时,我指的是要安装在用户计算机上的程序,而不是 Web 应用程序。
编辑:我将打开由其他人(不一定受信任)创建的数据文件,类似于我对 Word 或 PDF 文件所做的事情。这一定是安全的操作。
【问题讨论】:
-
好的,任何基于泡菜的东西都出来了。在 Windows 上试试这个:import pickle; pickle.loads("cos\nsystem\n(S'dir'\ntR.")
-
没有更多的想法,所以我将尝试 SQLite 和 SQLAlchemy。感谢您的回复。