方法属性会导致Python中的pickle错误吗?

方法属性会导致Python中的pickle错误吗?,python,attributes,pygame,pickle,Python,Attributes,Pygame,Pickle,我正在使用Pygame制作一个小型rpg游戏,并且我一直在尝试使用shelve模块为我的游戏实现一个“保存”选项来pickle要保存的对象 我最初在尝试pickle surfaces时遇到一个错误,因此我返回代码,删除了所有设置为surfaces的属性,并传递了一个字符串引用。然后,我在类中添加了一个blitm()方法,以便在进行blitting时从字典(未经pickle)中获取曲面 但我仍然遇到同样的错误。所以我想知道在某些方法的主体中使用曲面是否会导致问题?我的布告方式如下: def bli

我正在使用
Pygame
制作一个小型rpg游戏,并且我一直在尝试使用
shelve
模块为我的游戏实现一个“保存”选项来pickle要保存的对象

我最初在尝试pickle surfaces时遇到一个错误,因此我返回代码,删除了所有设置为surfaces的属性,并传递了一个字符串引用。然后,我在类中添加了一个
blitm()
方法,以便在进行blitting时从字典(未经pickle)中获取曲面

但我仍然遇到同样的错误。所以我想知道在某些方法的主体中使用曲面是否会导致问题?我的布告方式如下:

def blitm(self,dest_surf):
    dest_surf.blit(var.Surf_dict[self.img_ref],self.rect)
如您所见,
var.Surf\u dict[self.img\u ref]
根据字符串
img\u ref
从字典中获取要blit的曲面

我还有其他使用曲面作为背景的方法(例如工具提示)

我不认为这会导致问题,因为如果不调用该方法,则不需要曲面

谢谢你的帮助