dill: TypeError: 'module' object is not callable when dill.load() is run from different files
dill: TypeError: 'module' object is not callable when dill.load() is run from different files
我使用 dill
将 python 个对象存储到一个文件中,例如:
with open(filename, 'wb') as output_:
dill.dump(obj, output_)
然后我从 test.dprj
文件加载存储的对象
C:...\DyS_project\testsread_write.py
import pprint
from MBD_system import read_and_write
from MBD_system.MBD_system import MBDsystem
if __name__ == "__main__":
MBD_file_abs_path = "C:\...\test.dprj"
mbd = read.read(MBD_file_abs_path)
pprint(vars(mbd))
它工作正常并且打印了对象属性。但是,如果我尝试在 C 中的应用程序 DySMainWindow
中加载文件:...\DyS_project\dys.py
from MBD_system.MBD_system import MBDsystem
from MBD_system import read_and_write
class DySMainWindow(QtGui.QMainWindow):
def __init__(self):
super(DySMainWindow, self).__init__()
def showOpenFileDialog(self):
...
self.MBD_system = None
self.MBD_system = read_and_write.read(filename)
print self.MBD_system.__dict__
pprint(vars(self.MBD_system))
字典打印正确,但是当我使用 pprint(vars())
打印对象的属性时,它会引发:
File "C:/.../DyS_project/dys.py", line 577, in showOpenFileDialog
pprint(vars(self.MBD_system))
TypeError: 'module' object is not callable
知道哪里出了问题以及如何解决吗?
我已经解决了实际上是一个错误的隐藏类型的问题。我已经更改了代码:
import pprint
至:
from pprint import pprint
我使用 dill
将 python 个对象存储到一个文件中,例如:
with open(filename, 'wb') as output_:
dill.dump(obj, output_)
然后我从 test.dprj
文件加载存储的对象
C:...\DyS_project\testsread_write.py
import pprint
from MBD_system import read_and_write
from MBD_system.MBD_system import MBDsystem
if __name__ == "__main__":
MBD_file_abs_path = "C:\...\test.dprj"
mbd = read.read(MBD_file_abs_path)
pprint(vars(mbd))
它工作正常并且打印了对象属性。但是,如果我尝试在 C 中的应用程序 DySMainWindow
中加载文件:...\DyS_project\dys.py
from MBD_system.MBD_system import MBDsystem
from MBD_system import read_and_write
class DySMainWindow(QtGui.QMainWindow):
def __init__(self):
super(DySMainWindow, self).__init__()
def showOpenFileDialog(self):
...
self.MBD_system = None
self.MBD_system = read_and_write.read(filename)
print self.MBD_system.__dict__
pprint(vars(self.MBD_system))
字典打印正确,但是当我使用 pprint(vars())
打印对象的属性时,它会引发:
File "C:/.../DyS_project/dys.py", line 577, in showOpenFileDialog
pprint(vars(self.MBD_system))
TypeError: 'module' object is not callable
知道哪里出了问题以及如何解决吗?
我已经解决了实际上是一个错误的隐藏类型的问题。我已经更改了代码:
import pprint
至:
from pprint import pprint