huffman-algo-python/main.py
2026-01-18 17:09:28 +03:00

22 lines
No EOL
622 B
Python

from huffman import (
get_frequencies,
make_tree,
make_codes,
encode_flow,
decode_flow
)
with open("useless.map", "rb") as f_in:
frequencies = get_frequencies(f_in)
total_bytes = f_in.seek(0, 2) # длина исходного файла
f_in.seek(0)
nodes, root_idx = make_tree(frequencies)
codes = make_codes(nodes, root_idx)
with open("useless.map", "rb") as f_in, open("useless.huff", "wb") as f_out:
encode_flow(f_in, f_out, codes)
with open("useless.huff", "rb") as f_in, open("useless_decoded.map", "wb") as f_out:
decode_flow(f_in, f_out, nodes, root_idx, total_bytes)