将类保存到二进制文件中 - Python

时间:2015-08-30 11:39:44

标签: python file class binary save

我知道可以使用以下方法将类保存到c ++中的二进制文件中:

file.write(Class_variable, size_of_class, amount_of_saves, file_where_to_save)

或类似的东西,我想在python中使用它,以便更容易编写和读取大量数据。

我试图这样做:

def Save_Game(player, room):
    address = 'Saves/player'

    file = open(address, 'wb')
    file.write(player)

    address = 'Saves/room'

    file = open(address, 'wb')
    file.write(room)

房间和玩家是class_objects。但它说:

TypeError: must be convertible to a buffer, not PlayerMarty

我该怎么办?

2 个答案:

答案 0 :(得分:13)

previousIndex=0就是您所需要的。 pickle模块实现了一个基本但强大的算法,用于序列化和反序列化Python对象结构。这是一个例子

pickle

答案 1 :(得分:4)

可以获取Python对象的字节来保存&像那样恢复它们,但是直接做起来并不容易。但是,标准pickle模块极大地简化了这一过程。