Huffman complete v0.1

This commit is contained in:
helldh 2026-01-18 17:09:28 +03:00
parent c1ca54db6b
commit 458201e00b
5 changed files with 130 additions and 15 deletions

23
main.py
View file

@ -1 +1,22 @@
# заглушка
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)