pickle_handler.py 753 Bytes
Newer Older
1
# Copyright (c) OpenMMLab. All rights reserved.
2
import pickle
3

4
from .base import BaseFileHandler
5
6


7
class PickleHandler(BaseFileHandler):
8

9
10
    str_like = False

11
    def load_from_fileobj(self, file, **kwargs):
12
13
        return pickle.load(file, **kwargs)

14
    def load_from_path(self, filepath, **kwargs):
15
        return super().load_from_path(filepath, mode='rb', **kwargs)
16

17
    def dump_to_str(self, obj, **kwargs):
18
        kwargs.setdefault('protocol', 2)
19
        return pickle.dumps(obj, **kwargs)
20

21
    def dump_to_fileobj(self, obj, file, **kwargs):
22
23
        kwargs.setdefault('protocol', 2)
        pickle.dump(obj, file, **kwargs)
24
25

    def dump_to_path(self, obj, filepath, **kwargs):
26
        super().dump_to_path(obj, filepath, mode='wb', **kwargs)