【发布时间】:2019-02-07 23:02:25
【问题描述】:
你好,我用 Python 用 pygame 做了一个国际象棋游戏。
为此,我制作了一个我也制作的“国际象棋游戏”类的对象。 现在我想保存游戏,以便我们以后下棋。
我知道可以使用 pickle(或其他模块,如 json 和 hdf5)来保存我的游戏。 我知道,如果我在 pickle.dump 方法的参数中提供变量的字典,pickle 只能让我保存对象。
问题如下: 如何保存一个python对象,它的属性也是对象并且是多层次的?
解释一下自己: 我已经创建了我的“国际象棋”类的对象,其属性包含其他对象。
例如,“棋盘”是国际象棋的一个属性,是我的“棋盘”类的一个对象, 并且板还包含对象, 其中一个是所有片段的网格(它是由列表中的列表组成的矩阵),网格的每个元素都是我的“片段”类的对象“片段”。
那么有没有一种简单的方法可以保存我所有的游戏属性,而不必分解每个对象来获取它们的字典? 如果是,是否可以根据需要多次保存包含其他对象的对象?
提前非常感谢您! :D
【问题讨论】:
-
使用
shelve模块。 -
哇!很简单,非常感谢。
标签: python class object save pickle