Python 如何存储项目文件,以便在将来的应用程序版本中仍然可以导入它们
简单地说,我已经制作了一个程序,用户可以在其中启动一个项目,做一些事情并保存该项目。 假设项目的有用数据存储在ProjectData类中 要保存项目,我转储ProjectData对象的序列化版本,如下所示:Python 如何存储项目文件,以便在将来的应用程序版本中仍然可以导入它们,python,save,future,compatibility,Python,Save,Future,Compatibility,简单地说,我已经制作了一个程序,用户可以在其中启动一个项目,做一些事情并保存该项目。 假设项目的有用数据存储在ProjectData类中 要保存项目,我转储ProjectData对象的序列化版本,如下所示: with open('filename.pickle', 'wb') as handle: pickle.dump(project_data_object, handle) 这样做使我很容易导入项目并开始编辑它,因为它可以在需要时重新加载对象 我仍然经常编辑我的程序,并选择向我的P
with open('filename.pickle', 'wb') as handle:
pickle.dump(project_data_object, handle)
这样做使我很容易导入项目并开始编辑它,因为它可以在需要时重新加载对象
我仍然经常编辑我的程序,并选择向我的ProjectData类(或函数)添加某个属性,本质上我有时需要更改该类。但当我这样做时,我就不能再导入旧版本的项目文件了
我可以将程序的版本号与pickle文件一起存储,然后打开该版本号来确定使用了哪个类,然后将数据加载到该类的对象中,但这似乎有点不方便。它将产生许多类定义(每个版本一个)
是否有一种更健壮/优雅的方法来处理保存项目文件,并尝试使它们成为未来版本的机器人