From 2f11637b7839d2a3b605ecf68b7bfc1f21179a62 Mon Sep 17 00:00:00 2001 From: Ilia Miheev Date: Mon, 13 Oct 2025 16:47:58 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=81=20ZipManager?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1c4dc02..9e59946 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,18 @@ -# Библиотека для работы с файлами во время парсинга +## Библиотека для работы с файлами во время парсинга -Во время парсинга часто приходится скачивать html-страницы, работать с json- и csv-файлами. Эта библиотека призвана облегчить написание кода для такого рода задач. Библиотека создавалась для удобства работы во время парсинга, но ничто не мешает использовать её просто для работы с json, csv и прогресс-барами. +Во время парсинга часто приходится скачивать html-страницы, работать с json- и csv-файлами. Эта библиотека призвана облегчить написание кода для такого рода задач, а так же предоставляет ряд дополнительных возможностей. -В библиотеке есть три класса для отдельных работ: Pars для работы с запросами и bs4, JsonManager для работы с json и CsvManager для работы с csv. Так же есть один класс для улучшения пользовательского опыта — ProgressBarManager, который создаёт прогресс-бар +#### В библиотеке есть три класса для основных работ: + +1. **Pars** для работы с запросами и bs4 +2. **JsonManager** для работы с json +3. **CsvManager** для работы с csv + +#### Так же есть три вспомогательных класса: + +1. **ProgressBarManager** для создания прогресс-баров +2. **TimerManager** для засечения времени выполнения определённого кода +3. **ZipManager** для архивации файлов и папок Установить библиотеку: @@ -10,6 +20,8 @@ pip install ipars ``` +## Навигация + - [Работа с Pars](#работа-с-pars) - [Коротко о методах](#коротко-о-методах-pars) - [Пример парсера с использованием ipars](#пример-парсера-с-использованием-ipars) @@ -26,6 +38,9 @@ pip install ipars - [Работа с TimerManager](#работа-с-timermanager) - [Коротко о методах](#коротко-о-методах-timermanager) - [Пример использования](#пример-использования-timermanager) +- [Работа с ZipManager](#работа-с-zipmanager) + - [Коротко о методах](#коротко-о-методах-zipmanager) + - [Пример использования](#пример-использования-zipmanager) ## Работа с Pars @@ -194,8 +209,11 @@ c.pprint(rows) 1. **max**: обязательный параметр, который указывает максимальное значение итераций в прогресс-баре 2. **message**: сообщение перед прогресс-баром + 3. **color**: цвет прогресс-бара + 4. **fill**: заполнитель для сделанной части + 5. **width**: размер прогресс-бара в символах ```py @@ -276,13 +294,47 @@ t = TimerManager() # Засекаем время t.start() -sleep(2) +sleep(2) # имитация двухсекундной работы t.end() # Выводим результат в разных форматах -print(f"Время работы в секундах: {t.getWorkTime()}") # 2.0008320808410645 +print(f"Время работы в секундах: {t.getWorkTime()}") # 2.0008320808410645 print(f"Время работы в минутах: {t.getWorkTime(ndigits=2, format='minutes')}") # 0.03 -print(f"Время работы в часах: {t.getWorkTime(ndigits=4, format='hours')}") # 0.0006 +print(f"Время работы в часах: {t.getWorkTime(ndigits=4, format='hours')}") # 0.0006 +``` + +## Работа с ZipManager + +Класс ZipManager нужен для архивации папоки файлов. Он принимает принимает только один аргумент — уровень сжатия файлов. + +'none' => Без сжатия + +'normal' => Обычное сжатие + +'hard' => Увеличенное сжатие + +'maximum' => Максимальное сжатие + +```py +from ipars import ZipManager + +z = ZipManager() +``` + +### Коротко о методах ZipManager + +1. Метод **zip_file** используется для архивирования одного файла. Принимает путь до исходного файла и путь выходного файла + +2. Метод **zip_folder** используется для архивирования каталога. Принимает путь до исходного каталога и путь выходного файла + +### Пример использования ZipManager + +```py +from ipars import ZipManager +z = ZipManager(compression='maximum') + +z.zip_file('./your_file.txt', 'file_archive_maximum.zip') +z.zip_folder('./your_folder/', 'folder_archive_maximum.zip') ``` Если ты дочитал(-а) документацию до конца, то получай пожизненный запас здоровья❤. Помни, оно у тебя одно.