Skip to content

volodout/Huffman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Володин Вячеслав, ФТ-203

            ────── Описание ──────
Это консольное приложение-архиватор на основе алгоритма Хаффмана,
которое позволяет сжимать и разархивировать файлы любых типов (текст,
изображения, видео и т.д.). Программа использует алгоритм Хаффмана для
сжатия данных, сохраняя коды Хаффмана и сжатые данные в один файл.


            ────── Сжатие файла ──────
Для сжатия файла используйте флаг -c или --compress.
Пример:
------------------------------------------
        python main.py -c test.txt
------------------------------------------

Или если мы хотим указать название для архива:
---------------------------------------------------
        python main.py -c test.txt out.huff
---------------------------------------------------
(при указании "out" пути для архива, он все равно будет иметь название "out.huff")


            ────── Распаковка файла ──────
Для распаковки файла используйте флаг -d или --decompress.
Пример:
-----------------------------------------------
        python main.py -d test.txt.huff
-----------------------------------------------
(по умолчанию распакованному файлу будет присвоено название test.txt
если такой файл уже есть в данной директории, то test(1).txt
если и такой есть, то test(2).txt и т.д.)

Или если мы хотим указать название для конечно файла:
-----------------------------------------------------------
        python main.py -d test.txt.huff decoded.txt
-----------------------------------------------------------


            ────── Аргументы командной строки ──────
-c или --compress — флаг для сжатия файла.
-d или --decompress — флаг для распаковки файла.
input — путь к файлу для сжатия или распаковки.
output — путь, где будет сохранен сжатый или распакованный файл.


Пример сжатия и распаковки текстового файла:
---------------------------------------------------------------------------
        python archiver.py -c example.txt example.huff
        python archiver.py -d example.huff restored_example.txt
---------------------------------------------------------------------------


            ────── Примечания ──────
Программа работает с любыми типами файлов,
включая текстовые, бинарные и мультимедийные файлы.

При сжатии и распаковке программа сохраняет исходные
метаданные файла, такие как временные метки и права доступа.


            ────── Структура проекта ──────

├── archiver.py    Главный файл с логикой сжатия и распаковки файлов
├── huffman.py     Реализация алгоритма Хаффмана
├── utils.py       Вспомогательные функции для работы с файлами и метаданными
└── README.txt     Описание проекта

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages