我在python中有一个报表对象。一旦报告最终确定,它必须被冻结,所以我将它存储在磁盘上的一个pickled dump中。 我试图解决的问题是我可能希望将来更改报表数据结构,新的pickle将具有不同的属性......但我需要能够重新加载和显示旧报表以及新的。 我想我可以对我的报表查看器进行版本控制,并根据以下版本加载它:
data = pickle.load( open( "save.p", "rb" ) )
if data.version == 1:
import report_viewer1 as report_viewer
if data.version == 2:
import report_viewer2 as report_viewer
else:
import report_viewer # latest
你们有什么建议? 有更好的解决方案吗?