Source code for torchoutil.pyoutil.pickle

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import pickle
from pathlib import Path
from typing import Any, Union

from .io import _setup_path


[docs]def dump_pickle( obj: Any, fpath: Union[str, Path, os.PathLike, None], *, overwrite: bool = True, make_parents: bool = True, ) -> bytes: fpath = _setup_path(fpath, overwrite, make_parents) content = pickle.dumps(obj) if isinstance(fpath, Path): fpath.write_bytes(content) return content
[docs]def load_pickle(fpath: Union[str, Path]) -> Any: fpath = Path(fpath) content = fpath.read_bytes() return _parse_pickle(content)
def _parse_pickle(content: bytes) -> Any: return pickle.loads(content)