43 lines
922 B
Python
43 lines
922 B
Python
|
"""Helper files for pickling"""
|
||
|
from statsmodels.iolib.openfile import get_file_obj
|
||
|
|
||
|
|
||
|
def save_pickle(obj, fname):
|
||
|
"""
|
||
|
Save the object to file via pickling.
|
||
|
|
||
|
Parameters
|
||
|
----------
|
||
|
fname : {str, pathlib.Path}
|
||
|
Filename to pickle to
|
||
|
"""
|
||
|
import pickle
|
||
|
|
||
|
with get_file_obj(fname, "wb") as fout:
|
||
|
pickle.dump(obj, fout, protocol=-1)
|
||
|
|
||
|
|
||
|
def load_pickle(fname):
|
||
|
"""
|
||
|
Load a previously saved object
|
||
|
|
||
|
.. warning::
|
||
|
|
||
|
Loading pickled models is not secure against erroneous or maliciously
|
||
|
constructed data. Never unpickle data received from an untrusted or
|
||
|
unauthenticated source.
|
||
|
|
||
|
Parameters
|
||
|
----------
|
||
|
fname : {str, pathlib.Path}
|
||
|
Filename to unpickle
|
||
|
|
||
|
Notes
|
||
|
-----
|
||
|
This method can be used to load *both* models and results.
|
||
|
"""
|
||
|
import pickle
|
||
|
|
||
|
with get_file_obj(fname, "rb") as fin:
|
||
|
return pickle.load(fin)
|