示例#1
0
class FileBits:
    def __init__(self, fp):
        self.f = open(fp, 'rb')
        self.bit_stream = BitReader(self.f)
        self.bits = []
        while True:
            x = self.bit_stream.read_bit()
            if not self.bit_stream.read:
                break
            self.bits.append(x)

    def __eq__(self, other):
        if len(self.bits) != len(other.bits):
            return False
        return self.bits == other.bits

    def __repr__(self):
        b = ['1' if x else '0' for x in self.bits]
        return ''.join(b)

    def __len__(self):
        return len(self.bits)

    def __del__(self):
        self.f.close()