Описана работа с ZipManager

This commit is contained in:
Ilia Miheev
2025-10-13 16:47:58 +03:00
parent 036f189712
commit 2f11637b78
+58 -6
View File
@@ -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')
```
Если ты дочитал(-а) документацию до конца, то получай пожизненный запас здоровья❤. Помни, оно у тебя одно.