Huffman complete v0.1
This commit is contained in:
parent
c1ca54db6b
commit
458201e00b
5 changed files with 130 additions and 15 deletions
23
main.py
23
main.py
|
|
@ -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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue