我正在开始开发一个Python应用程序,它提供了一个用于编辑各种图形和数字实体的GUI(如果你必须知道,它是移动机器人的配置和管理工具).其中一个问题是如何存储项目的数据(意味着,对于机器人).数据量将很低(最大约10MB)并且非常不同(机器人的几何数据,地图,任务,平台日志,记录的传感器数据,项目偏好......).
我不想开发自己的存储层.项目数据应存储在单个文件中,并且可以从Python轻松访问.存储更新应该很便宜:我不想使用显式的"保存"操作,并且应该在发生更改时立即存储更改.
单个ZIP文件可能不实用,并且需要在顶部编写持久层以将应用程序对象映射到存储.SQLite是一个明显的候选者,可能将SQLAlchemy作为对象关系层.ZODB看起来也很有趣,但到目前为止我没有经验.
有什么建议?
编辑:当我说"应用程序"时,我的意思是要安装在用户计算机上的程序,而不是Web应用程序.
编辑:我将打开由其他(不一定是受信任的)人创建的数据文件,类似于我对Word或PDF文件所做的操作.这必须是安全的操作.
shelve
提供一个映射界面,允许您存储任何pickleable类型.