python文档说:
pickle可以透明地保存和恢复类实例,但是类定义必须是可导入的,并且与存储对象时存在于同一模块中。
我可以在存储课程的模块中放置一个pickler / unpickler吗?
或者我必须把课程放在模块中?如何?
我正在尝试从外部模块中的类中挑选/取消对象。
答案 0 :(得分:1)
只要pickle
模块在加载pickle时可以再次导入它,就可以挑选任何python类实例。
在您的python代码中使用load()
或dump()
的位置并不重要,只有在以后再次检索您要发送的数据时,才会重要同一地点。
所以,如果你的模块foo.bar
中有一个类Spam
,那么只要你可以from foo.bar import Spam
你可以腌制那个类的实例,因为{{1以后可以从同一模块再次加载该类。