我正在开发一个使用 FMU
库加载 pyfmi
的应用程序:
from pyfmi import load_fmu
fmu_obj = load_fmu("xyz.fmu")
我们试图做的是,而不是每次我们想要缓存或腌制 fmu_obj 时加载 fmu。我尝试以下腌制 fmu_obj
import pickle
with open('fmu.pickle', 'wb') as pickle_file:
pickle.dump(fmu_obj, pickle_file)
但得到异常:
TypeError: self._context,self._fmu,self.callBackFunctions,self.callbacks cannot be converted to a Python object for pickling
更新:
我也尝试使用 pickle.dumps() 但得到了同样的异常:
pickle.dumps(fmu_obj)
尝试将其转换为使用 bytearray() 为:
bytearray(fmu_obj)
但得到异常 TypeError: 'pyfmi.fmi.FMUModelME2' object is not iterable
有没有办法pickle
或任何其他方式serialize
pyfmi
对象?或者有没有办法cache
pyfmi.fmi.FMUModelME2
对象?