-
Notifications
You must be signed in to change notification settings - Fork 0
volodout/Huffman
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published