我需要为字典键分配一个模块类。然后把那本词典归档。然后,加载pkl文件,然后根据字典键值导入并实例化该类。在
我试过了:
import module_example
from module_example import ClassExample
dictionary = {'module': module_example, 'class': ClassExample)
但它不会存储对模块的引用_埃克斯梅普.py在pkl文件中。在
我尝试过使用字符串代替模块类名的解决方法。但是如果模块名被重构或者位置被改变了,那么这将导致混乱。在
有没有直接做这个?以某种方式在字典中存储对模块类的引用,然后在以后基于该引用导入和实例化?在
这适用于单人班。如果要在多个模块和类中执行此操作,可以扩展以下代码。在
模块类_writer.py
模块类_阅读器.py
^{pr2}$如果希望未拾取的类与pickle对象完全相同,则必须存储该类的代码(例如,使用dill)之类的外部库。在
否则,标准pickle无法存储对类的引用,该类将在重构后“存活”。在
相关问题 更多 >
编程相关推荐