在多个模块中使用“dill”的函数的用法

时间:2017-02-28 14:50:57

标签: python-3.4 pickle dill

我希望你能帮助找到解决这种“错误”的方法。

所以我有一个python模块,在一个类里面我创建了一个使用dill.dump和dill.load_session的方法。我在模块中调用这个方法,它工作正常。 但我有另一个模块,其他类,我从第一个模块导入对象,并尝试调用此类中的方法,没有任何事情发生在莳萝,没有工作。 以下是代码的快速示例:

模块A.py

import dill
class A(object):
       def __init__(self): pass
       def check():
            temp_file = 'file.pkl'
            dill.load_session(temp_file)
            variable_current = 10
            if variable_current != variable_from_temp_file:
                  variable_from_temp_file = variable_current
                  with open(temp_file,'wb') as pickle_file:
                       dill.dump(variable_from_temp_file,pickle_file)
            return 1

模块B.py

import A
obj = A()
class B(object):
       def __init__(self): pass
       def create():
            flag = obj.check()
            if flag:
               do something...
object = B()
object.create()

当我运行B.py时,它会引发以下错误:

NameError: name 'variable_from_temp_file' is not defined

此行为的任何解决方案?感谢

0 个答案:

没有答案