我试图将一个相当复杂的对象保存为一个类似
import methods
import vars
import matplotlib
import numpy
class Awesome:
def __init__(self, canvasHandle, x, y):
self.alpha = 'jada'
self.bravo = 'bla'
self.graphic, = canvasHandle.ax.plot(x,y,'r-')
...
def show(self):
self.graphic.set_visible(True)
def hide(self):
self.graphic.set_visible(False)
但是,当我用
^{pr2}$我得到了一个错误:
TypeError: can't pickle MplCanvas objects
如何将该对象保存到一个文件中,而不管文件中有什么内容?可读性是不重要的,它只需要转储内存,使它恢复生活。。。在
我找到了解决办法: 我现在只传递包含的figure对象,而不是传递一个canvas对象(我这样做是为了用“mplüuconnect”捕捉事件)。用“mpl_connect”捕捉事件也可以在图形画布上工作,而不仅仅是在更高级别的画布上(因此不需要传递它)。现在dill保存对象没有错误!在
相关问题 更多 >
编程相关推荐