Вот фрагмент кода Python для архивирования папки:
import zipfile
import os
def zip_folder(folder_path, output_path):
with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
zipf.write(file_path, os.path.relpath(file_path, folder_path))
# Example usage
folder_path = '/path/to/folder'
output_path = '/path/to/output.zip'
zip_folder(folder_path, output_path)
Этот код использует модуль zipfileдля создания zip-файла и модуль osдля перемещения по структуре папок и добавления файлов в zip-архив. Вам необходимо указать в переменной folder_pathпуть к папке, которую вы хотите заархивировать, а в переменной output_pathуказать желаемый путь и имя файла для полученного zip-файла.р>
Вот несколько дополнительных методов, которые можно использовать для архивирования папки в Python:
-
Использование модуля
shutil:import shutil shutil.make_archive(output_path, 'zip', folder_path) -
Использование модуля
tarfileдля создания файла tar и последующего сжатия его с помощью gzip:import tarfile import gzip def zip_folder(folder_path, output_path): with tarfile.open(output_path, 'w:gz') as tar: tar.add(folder_path, arcname=os.path.basename(folder_path)) # Example usage folder_path = '/path/to/folder' output_path = '/path/to/output.tar.gz' zip_folder(folder_path, output_path) -
Использование модуля
subprocessдля выполнения инструмента командной строкиzip:import subprocess subprocess.run(['zip', '-r', output_path, folder_path])