有没有办法挑选一个类定义?
我想做的是挑选定义(可以动态创建),然后通过TCP连接发送它,以便可以在另一端创建实例.
我知道可能存在依赖关系,例如类所依赖的模块和全局变量.我也希望在酸洗过程中捆绑这些,但我并不担心自动检测依赖关系,因为如果用户有责任指定它们,那就没关系.
我想存储一个类和许多实例供以后使用,或提供给其他人。
到目前为止,我可以腌制和恢复实例,但是在加载它们之前,我必须手动重新创建该类。
我查看了这份文档,这使我相信我应该能够以某种方式执行此操作,但是我似乎无法确切地找到执行该操作的方法。
编辑:我读过这个答案讨论使用的dill(见这问题的答案也),但我没有dill安装。我想要一个泡菜解决方案(如果存在)。
import numpy as np
import pickle
class wow(object):
def __init__(self, x):
self.x = x
w5 = wow(np.arange(5))
w3 = wow(range(3))
with open("w5w3.pickle", "w") as outfile:
pickle.dump([w5, w3], outfile)
# save the class also
with open("wow.pickle", "w") as outfile:
pickle.dump(wow, outfile)
# OK, now delete class wow, then try to recover the pickles
del wow, w3, w5
try:
with open("wow.pickle", "r") as infile:
wow = pickle.load(infile)
except …Run Code Online (Sandbox Code Playgroud)