SmartQuery /ВОПРОС → ПРИМЕР → ПОНЯТНЫЙ ОТВЕТ
Системы и инструменты

Файловый архив: упаковка, каталог и резервная копия — разные задачи

Файловым архивом называют и упакованный набор файлов вроде 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 и другие уже сжатые форматы могут почти не уменьшиться.

Чужой архив сначала просмотрите без исполнения файлов. Учитывайте общий распакованный размер и имена путей; распаковка в рабочую папку с автоматической перезаписью — плохой способ проверки.

Документация