如何将整个类保存在以哈希输入命名的文件中?

时间:2017-12-06 12:49:17

标签: python dictionary

我的课程初始化需要一些时间(大约一个小时)。但结果是四个小长度的数组。有没有办法将结果保存在硬盘驱动器上并加载它,如果类是由相同的输入馈送?我以为它可能是这样的:

    class class_1(a,b):

       def __init__(self):
           self.a = a
           self.b = b

       def load_class(self):
           hashed_input = ...
           if os.path.isdir('data/'+hashed_input):
               ...load out....
           else: self.calc_out()

       def calc_out(self):

       ...takes an hour...


       def save_class(self):
           hashed_input = ...
           dir = '/data/'+hashed_input
           import pathlib
           pathlib.Path(dir).mkdir(parents=True, exist_ok=True)
           np.savez('dir/File.npz', out=self.out)


    args = {a:1, b:2}
    foo = class_1(**args)
    foo.save_class()

但是我需要在类中使用args dict。

1 个答案:

答案 0 :(得分:1)

也许将foo.save作为回调传递给calc_out

def calc_out(self, cb):
    ...
    ...
    cb()

foo.call_out(foo.save)