0

我希望你能帮助找到解决这个“谜团”的方法。

所以我有一个 python 模块,在一个类中我创建了一个使用 dill.dump 和 dill.load_session 的方法。我在模块内部调用这个方法,它工作正常。但是我有另一个模块,另一个类,我从第一个模块导入对象并尝试在这个类中调用该方法,而 dill 没有任何反应,无法正常工作。这是一个快速的代码示例:

模块 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

这种行为有什么解决办法吗?谢谢

4

0 回答 0