Файловый архив: упаковка, каталог и резервная копия — разные задачи
Файловым архивом называют и упакованный набор файлов вроде ZIP, и организованное хранилище документов. У них разные возможности. Упаковка сама по себе не добавляет историю версий, совместное редактирование, шифрование или независимую резервную копию.
Выберите цель хранения
| Задача | Что требуется |
|---|---|
| Передать набор документов | Понятная структура и поддерживаемый формат архива |
| Найти старую редакцию | Версии и правила именования или отдельная система управления документами |
| Восстановиться после потери диска | Проверяемая копия на независимом носителе |
| Ограничить доступ | Права хранилища и, если нужно, выбранный механизм шифрования |
Создать и проверить небольшой ZIP
Пример упаковывает два заранее выбранных файла из папки documents. Режим x запрещает молча перезаписать существующий documents.zip:
from pathlib import Path
from zipfile import ZipFile, ZIP_DEFLATED
names = ["report.txt", "notes.txt"]
with ZipFile("documents.zip", "x", compression=ZIP_DEFLATED) as bundle:
for name in names:
bundle.write(Path("documents") / name, arcname=name)
with ZipFile("documents.zip") as bundle:
print(bundle.namelist())
failed_member = bundle.testzip()
if failed_member is not None:
raise ValueError(f"Повреждён файл: {failed_member}")Список должен содержать report.txt и notes.txt. testzip проверяет CRC и заголовки файлов, но не удостоверяет отправителя и не доказывает отсутствие вредоносного содержимого. Этот пример не шифрует данные.
Что проверить до удаления исходников
- Извлеките контрольный набор в отдельную папку и откройте важные документы. Проверьте имена, количество и содержимое.
- Для сравнения копий можно заранее сохранить SHA-256 файлов. Хеш полезен при проверке совпадения, но его тоже нужно получить из доверенного источника.
- Храните резервную копию отдельно от исходного диска и периодически проверяйте восстановление. Синхронизация, повторяющая удаления, не равна истории резервных копий.
- Не обещайте выигрыш от сжатия для любых данных: JPEG и другие уже сжатые форматы могут почти не уменьшиться.
Чужой архив сначала просмотрите без исполнения файлов. Учитывайте общий распакованный размер и имена путей; распаковка в рабочую папку с автоматической перезаписью — плохой способ проверки.