Как заархивировать несколько файлов в один архив
Обновлено: 21.11.2024
В этой статье вы узнаете, как выполнять следующие операции ZIP-архивирования:
Ниже приведены действия по сжатию файла путем его добавления в ZIP-архив:
- Создайте объект FileStream для выходного ZIP-архива.
- Открыть исходный файл в объект FileStream.
- Создайте объект класса Archive.
- Добавьте файл в архив с помощью метода Archive.CreateEntry(string, FileStream).
- Создайте ZIP-архив, используя метод Archive.Save(FileStream).
Если вы хотите добавить несколько файлов в ZIP-архив, вы можете сделать это одним из следующих способов.
Заархивируйте несколько файлов с помощью FileStream
Заархивируйте несколько файлов с помощью FileInfo
ZIP-файлы с использованием пути
Вместо использования классов FileInfo или FileStream для записей ZIP можно указать путь к файлу непосредственно в Archive.CreateEntry(String name, String path, Boolean openImmediately, Метод ArchiveEntrySettings newEntrySettings). В следующем примере кода показано, как сжать файлы ZIP, используя их путь.
Вы также можете заархивировать папку, что может быть еще одной альтернативой добавлению нескольких файлов в ZIP-архив. Просто поместите исходные файлы в папку и добавьте эту папку в ZIP-архив. Ниже приведены шаги для ZIP-архива папки:
- Создайте объект класса FileStream для выходного ZIP-архива.
- Создайте экземпляр класса Archive.
- Используйте класс DirectoryInfo, чтобы указать папку для архивирования.
- Используйте метод Archive.CreateEntries(DirectoryInfo), чтобы добавить папку в ZIP.
- Создайте ZIP-архив, используя метод Archive.Save(FileStream).
Вы можете защитить ZIP-архивы с помощью паролей и применить шифрование ZipCrypto. Для этого в конструкторе Архива используется класс ArchiveEntrySettings, который вторым параметром принимает тип шифрования.
Установить режим параллельного сжатия
- Никогда – не выполнять параллельное сжатие.
- Всегда — сжимайте параллельно (остерегайтесь нехватки памяти).
- Автоматическое. Решите, следует ли использовать параллельное сжатие для записей. Этот параметр может сжимать только некоторые записи параллельно.
В следующем примере кода показано, как установить режим параллельного сжатия при сжатии нескольких файлов.
Заключение
При создании личных резервных копий или упаковке большого количества файлов для совместного использования с кем-либо полезно создать сжатый архив. Чтобы сжать файлы в один файл, выберите свою операционную систему из списка ниже и следуйте предоставленным инструкциям.
Пользователи Microsoft Windows XP и более поздних версий
Пользователи, использующие Microsoft Windows XP или более поздние операционные системы, могут сжимать файлы с помощью прилагаемой утилиты сжатия, выполнив следующие действия.
- Выберите все файлы и папки, которые вы хотите добавить в сжатый файл. ол>
- Выберите все файлы и папки, которые вы хотите добавить в сжатый файл. ол>
- Щелкните правой кнопкой мыши один из выбранных файлов или папок и выберите быструю ссылку утилиты сжатия. Например, в WinRAR выберите параметр «Добавить в архив» или «Добавить в». В WinZip выберите параметр «Добавить в Zip».
- Используйте «Проводник Windows» или «Мой компьютер» («Проводник» в Windows 10), чтобы найти файлы, которые вы хотите заархивировать. …
- Удерживая нажатой клавишу [Ctrl] на клавиатуре > щелкните каждый файл, который вы хотите объединить в заархивированный файл.
- Нажмите правой кнопкой мыши и выберите «Отправить» > «Сжатая (архивированная) папка».
- Почтовый индекс. Если у вас есть архив с именем myzip.zip и вы хотите вернуть файлы, введите: unzip myzip.zip. …
- Тар. Чтобы извлечь файл, сжатый с помощью tar (например, имя файла.tar), введите следующую команду из приглашения SSH: tar xvf имя_файла.tar. …
- Ганзип. Чтобы извлечь файл, сжатый с помощью gunzip, введите следующее:
- Найдите файл или папку, которую вы хотите заархивировать.
- Нажмите и удерживайте (или щелкните правой кнопкой мыши) файл или папку, выберите (или наведите указатель мыши на) «Отправить в», а затем выберите «Сжатая (архивированная) папка». В том же месте создается новая сжатая папка с тем же именем.
- Введите имя сжатой папки и нажмите клавишу ввода. …
- Чтобы сжать файлы (или уменьшить их размер), просто перетащите их в эту папку. …
- В дополнение к функции сжатия папок Windows XP поддерживает другой тип сжатия, если ваш жесткий диск отформатирован как том NTFS.
- Создайте объект ZipFile, передав новое имя файла и режим как «w» (режим записи). Он создаст новый ZIP-файл и откроет его в объекте ZipFile.
- Вызовите функцию write() для объекта ZipFile, чтобы добавить в него файлы.
- вызвать close() для объекта ZipFile, чтобы закрыть zip-файл.
-
один из выбранных файлов или папок, выберите "Отправить", а затем выберите "Сжатая (заархивированная) папка".
Мы рекомендуем всегда сжимать zip-файл как .zip для совместимости.
Если все сделано успешно, компьютер должен создать ZIP-файл с именем файла или папки, которую вы щелкнули правой кнопкой мыши. Например, если вы выбрали файл с именем todo.txt, полученный сжатый файл станет todo.zip и будет расположен в том же каталоге.
Пользователи Microsoft Windows 98 и более ранних версий
Поскольку другие версии Microsoft Windows не поставляются в комплекте с утилитой сжатия, пользователь может установить и использовать стороннюю утилиту сжатия.
После того как на компьютере будет установлена одна из утилит сжатия, вы сможете использовать ее для сжатия и объединения нескольких файлов в один сжатый файл. Ниже приведен базовый пример того, как это можно сделать.
Часто пользователи также могут открыть программу через меню "Пуск/Программы" и добавить файлы вручную через саму программу.
Пользователи Linux
В отличие от других операционных систем, почти все варианты Linux и Unix поставляются с предустановленной командой, способной сжимать и распаковывать файлы. Пользователи Linux и Unix, скорее всего, будут иметь дело с расширениями файлов, такими как .TAR, TGZ, .Z или .TAR.GZ. Дополнительные сведения о командах, используемых для создания сжатых файлов и распаковки файлов, см. на страницах команд Linux и Unix ниже.
Чтобы создать ZIP-файл, перейдите в командную строку и введите «zip», а затем имя ZIP-файла, который вы хотите создать, и список файлов, которые нужно включить. Например, вы можете ввести «zip example. zip папка1/файл1 файл2 папка2/файл3», чтобы создать ZIP-файл с именем «example.
Контентидос
Как сжать несколько файлов в один в Linux?
Чтобы заархивировать несколько файлов с помощью команды zip, вы можете просто добавить имена всех ваших файлов. Кроме того, вы можете использовать подстановочный знак, если вы можете сгруппировать файлы по расширению.
Как сжать несколько файлов в один в Unix?
В Unix и Unix-подобных операционных системах (таких как Linux) вы можете использовать команду tar (сокращение от «архивирование ленты») для объединения нескольких файлов в один файл архива для удобства хранения и/или распространения. р>
Как сжать несколько файлов в один?
Как заархивировать две папки в Linux?
Самый простой способ заархивировать папку в Linux — использовать команду «zip» с параметром «-r» и указать файл вашего архива, а также папки, которые нужно добавить в ваш zip-файл. Вы также можете указать несколько папок, если хотите, чтобы в ZIP-файле было сжато несколько каталогов.
Как заархивировать файл в Unix?
Как поместить несколько файлов в zip-архив?
Щелкните правой кнопкой мыши файл или папку.
Выберите «Сжатая (заархивированная) папка». Чтобы поместить несколько файлов в ZIP-папку, выберите все файлы, удерживая нажатой кнопку Ctrl. Затем щелкните правой кнопкой мыши один из файлов, наведите курсор на параметр «Отправить» и выберите «Сжатая (заархивированная) папка».
Можем ли мы сжать несколько файлов?
По соглашению, имя файла, сжатого с помощью Gzip, должно заканчиваться на . гз или . г . Если вы хотите сжать несколько файлов или каталогов в один файл, сначала вам нужно создать архив Tar, а затем сжать .
Как поместить несколько файлов в один файл?
Найдите документ, который хотите объединить. У вас есть возможность объединить выбранный документ с текущим открытым документом или объединить два документа в новый документ. Чтобы выбрать вариант слияния, щелкните стрелку рядом с кнопкой «Объединить» и выберите нужный вариант слияния. После завершения файлы объединяются.
Сколько файлов можно поместить в zip-архив?
Как поместить файлы в ZIP-папку?
Как уменьшить размер zip-файла?
Как заархивировать файл в Linux?
Если вы хотите сжать файл или папку в настольной версии Linux, для этого достаточно нескольких щелчков мышью. Перейдите в папку, где у вас есть нужные файлы (и папки), которые вы хотите сжать в одну zip-папку. Здесь выберите файлы и папки. Теперь щелкните правой кнопкой мыши и выберите Сжать.
Возможно, вы знаете, как добавить несколько файлов в один zip-файл, но знаете ли вы, как сжать несколько папок или файлов и автоматически создать отдельные zip-файлы для каждого из них? Это еще один совет по продуктивности, который может помочь вам стать более продуктивным.
Мы используем WinRAR для сжатия нескольких файлов/папок в отдельные архивы, поэтому приступим:
1. Шаг Загрузите WinRAR
2. Шаг Выберите файлы и папки, для которых вы хотите создать один zip-файл, и щелкните правой кнопкой мыши:
3. Шаг Выберите Добавить в архив…
4.Шаг Далее перейдите на вкладку «Файлы» и установите флажок «Поместить каждый файл в отдельный архив»:
5. Шаг Нажмите «ОК»
6. Шаг. Вы успешно создали один отдельный zip-архив. для каждого выбранного файла и/или папки.
Как видите, нет необходимости в дорогих инструментах, таких как "архивировать несколько папок в отдельные файлы 7.0", которые стоят около 20 долларов США и могут даже не работать должным образом.
О, и вы, возможно, захотите создать zip-файлы вместо rar-файлов, потому что я обычно получаю жалобы, когда использую rar-файлы.
Просто перейдите на вкладку «Общие» и выберите ZIP-файлы, чтобы создать ZIP-архивы, а не RAR-архивы:
Оливер С.К.
Оливер — основатель и главный редактор этого сайта. Ему интересно находить новые способы сломать Windows, находить распространенные ошибки и помогать другим их исправлять. Кроме того, он любит полностью настраивать системы с помощью Rainmeter и Dreamscene, узнавать больше о древних цивилизациях, таких как Чачапойя, оттачивать свои навыки цифровой фотографии и создавать программное обеспечение с небольшой группой избранных разработчиков. Если вы хотите связаться с ним, чтобы обсудить что-либо, отправьте ему письмо!
В этой статье мы обсудим, как создать zip-архив из выбранных файлов или файлов из каталога на основе фильтров.
Модуль Python zipfile предоставляет класс ZipFile для вещей, связанных с zip-файлами. Давайте воспользуемся этим для создания zip-архива.
Сначала импортируйте класс из модуля, т.е.
Создать zip-архив из нескольких файлов в Python
Он создаст zip-файл «sample.zip» с заданными файлами внутри него.
То же самое можно сделать с «with open». Он автоматически закроет zip-файл, когда объект ZipFile выйдет за пределы области действия, т.е.
Создать zip-архив каталога
Чтобы заархивировать все содержимое каталога в zip-архиве, нам нужно перебрать все файлы в каталоге и его подкаталогах, а затем добавить каждую запись в zip-файл с помощью ZipFile.write()
Он заархивирует все содержимое каталога в один zip-файл, например, «sampleDir.zip». Его содержимое будет таким:
Заархивируйте выбранные файлы из каталога на основе фильтра или подстановочных знаков
Чтобы заархивировать выбранные файлы из каталога, нам нужно проверить условие для каждого пути к файлу во время итерации, прежде чем добавлять его в zip-файл.
Давайте создадим функцию, которая перебирает каталог и фильтрует содержимое с заданным обратным вызовом. Файлы, прошедшие фильтр, будут добавлены только в формате zip, т.е.
Давайте заархивируем только CSV-файлы из каталога, т. е. передадим в него лямбда-функцию в качестве аргумента.
Будет создан zip-архив «sampleDir2.zip» со всеми CSV-файлами из заданного каталога.
Полный пример выглядит следующим образом:
Учебники по Pandas – изучите анализ данных с помощью Python
Вы хотите сделать карьеру в области Data Science с помощью Python?
Наука о данных — это будущее, и оно уже наступило. На сегодняшний день специалисты по данным являются самыми востребованными профессионалами. Чтобы стать хорошим Data Scientist или сменить профессию в Data Science, нужно обладать нужным набором навыков. Мы составили список лучших профессиональных сертификатов в области науки о данных с помощью Python. Эти курсы научат вас инструментам программирования для науки о данных, таким как Pandas, NumPy, Matplotlib, Seaborn, и тому, как использовать эти библиотеки для реализации моделей машинного обучения.
Ознакомьтесь с подробным обзором лучшего профессионального сертификата по науке о данных с Python.
Помните, что наука о данных требует большого терпения, настойчивости и практики. Итак, начните учиться сегодня.
Присоединяйтесь к сообществу разработчиков Python в LinkedIn
Похожие сообщения
Вставить элемент в начало массива NumPy
Как добавить столбцы в массив NumPy в Python
Как объединить массивы NumPy в Python?
Добавить строку в массив NumPy в Python
Добавить элементы в конец массива в Python
Как удалить столбцы из массива NumPy
Как удалить строки из массива NumPy
Удалить последний элемент из массива NumPy в Python
Удалить первый элемент из массива NumPy в Python
Проверьте, является ли двумерный массив NumPy или матрица симметричным
Редактировать значения ячеек в CSV-файлах с помощью Pandas в Python
Сортировка массива NumPy в порядке убывания в Python
Преобразование списка в набор в Python
Добавление двух элементов списка в Python
Добавление одного списка к другому списку в Python
Удалить дубликаты из массива NumPy в Python
Проверить, существует ли столбец в Pandas DataFrame
Проверить, равны ли два массива NumPy в Python
Pandas: проверьте, все ли значения в столбце равны нулю
Проверить, все ли значения в столбце являются NaN в Pandas
3 мысли о «Python: как создать zip-архив из нескольких файлов или каталогов»
У меня возникли проблемы с поиском упрощенных примеров, показывающих процесс Open, Write, Close. Спасибо за такое краткое объяснение!
zipFilesInDir("C:\\Users\\SainiV01\\Documents\\copy", "sampleDir.zip", лямбда-имя: "csv" в имени)
этот код не работает в соответствии с ожиданиями… в этом каталоге есть 2 файла, которые я хочу сохранить в виде zip-файла sampleDir.zip.
кто-нибудь может помочь, что я сделал не так
В функции zipFilesInDir() при добавлении файла в zip с помощью функции write() нам также нужно передать имя дуги, т.е.
На самом деле мы добавляли файл в формате zip с полным путем, что и вызывало проблему. В приведенных выше примерах я использовал только файлы в локальном каталоге, поэтому раньше не сталкивался с этой проблемой.
Я обновил приведенный выше код. Теперь все должно работать нормально.
Оставить комментарий Отменить ответ
Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.
Реклама
Реклама
Последние публикации
Учебники по Python
Что-то ищу
Учебники по C++/C++11
Условия использования
Условия и политика
Учебники по Python
Избранные сайты
Отказ от ответственности
Условия и политика
Авторское право © 2022 thisPointer
Техническое хранение или доступ строго необходимы для законной цели предоставления возможности использования конкретной услуги, явно запрошенной подписчиком или пользователем, или с единственной целью осуществления передачи сообщения по сети электронной связи.
Техническое хранение или доступ необходимы для законных целей хранения настроек, которые не запрашиваются подписчиком или пользователем.
Техническое хранилище или доступ, которые используются исключительно в статистических целях. Техническое хранилище или доступ, который используется исключительно для анонимных статистических целей. Без повестки в суд, добровольного согласия со стороны вашего интернет-провайдера или дополнительных записей от третьей стороны информация, хранящаяся или извлекаемая только для этой цели, обычно не может быть использована для вашей идентификации.
Техническое хранилище или доступ необходимы для создания профилей пользователей для отправки рекламы или отслеживания пользователя на веб-сайте или на нескольких веб-сайтах в аналогичных маркетинговых целях.
Техническое хранение или доступ строго необходимы для законной цели предоставления возможности использования конкретной услуги, явно запрошенной подписчиком или пользователем, или с единственной целью осуществления передачи сообщения по сети электронной связи.
Техническое хранение или доступ необходимы для законных целей хранения настроек, которые не запрашиваются подписчиком или пользователем.
Техническое хранилище или доступ, которые используются исключительно в статистических целях. Техническое хранилище или доступ, который используется исключительно для анонимных статистических целей. Без повестки в суд, добровольного согласия со стороны вашего интернет-провайдера или дополнительных записей от третьей стороны информация, хранящаяся или извлекаемая только для этой цели, обычно не может быть использована для вашей идентификации.
Техническое хранилище или доступ необходимы для создания профилей пользователей для отправки рекламы или отслеживания пользователя на веб-сайте или на нескольких веб-сайтах в аналогичных маркетинговых целях.
Читайте также: