向后兼容腌制对象

时间:2015-12-07 19:37:38

标签: python

我在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

你们有什么建议? 有更好的解决方案吗?

0 个答案:

没有答案