AbsReaderWriter.py 452 Bytes
Newer Older
kernel.h@qq.com's avatar
kernel.h@qq.com committed
1
2
3
4
from abc import ABC, abstractmethod


class AbsReaderWriter(ABC):
kernel.h@qq.com's avatar
kernel.h@qq.com committed
5
6
    MODE_TXT = "text"
    MODE_BIN = "binary"
kernel.h@qq.com's avatar
kernel.h@qq.com committed
7
    @abstractmethod
liukaiwen's avatar
liukaiwen committed
8
    def read(self, path: str, mode=MODE_TXT):
kernel.h@qq.com's avatar
kernel.h@qq.com committed
9
        raise NotImplementedError
kernel.h@qq.com's avatar
kernel.h@qq.com committed
10
11

    @abstractmethod
kernel.h@qq.com's avatar
kernel.h@qq.com committed
12
13
    def write(self, content: str, path: str, mode=MODE_TXT):
        raise NotImplementedError
liukaiwen's avatar
liukaiwen committed
14

kernel.h@qq.com's avatar
kernel.h@qq.com committed
15
    @abstractmethod
icecraft's avatar
icecraft committed
16
    def read_offset(self, path: str, offset=0, limit=None) -> bytes:
kernel.h@qq.com's avatar
kernel.h@qq.com committed
17
        raise NotImplementedError