def decode(fin, fout, size): root = read_tree(fin) # ハフマン木の読み込み while size > 0: node = root while node.code is None: if fin.getbit() == 0: node = node.left else: node = node.right BitIO.putc(fout, node.code) size -= 1
def read_file(fin): while True: c = BitIO.getc(fin) if c is None: break yield c