Python дозволяє швидко створювати архіви zip / tar.
Наступна команда буде архівувати весь каталог
shutil.make_archive(output_filename, 'zip', dir_name)
Наступна команда надає вам контроль над файлами, які ви хочете архівувати
ZipFile.write(filename)
Ось кроки для створення Zip-файлу в Python
Крок 1) Щоб створити архівний файл з Python, переконайтеся, що ви правильно імпортували оператор імпорту. Тут є імпорт імпорту для архіву
from shutil import make_archive
Пояснення коду
- Імпортуйте клас make_archive з модуля shutil
- Використовуйте функцію розбиття, щоб розділити каталог та ім'я файлу із шляху до розташування текстового файлу (guru99)
- Потім ми викликаємо модуль "shutil.make_archive (" guru99 archive, "zip", root_dir) ", щоб створити файл архіву, який буде у форматі zip
- Після цього ми передаємо в кореневий каталог речей, які ми хочемо заархівувати. Отже, все в каталозі буде заархівовано
- Під час запуску коду ви бачите, що архівний zip-файл створений праворуч на панелі.
Крок 2)
Тепер ваш файл archive.zip з’явиться у вашій ОС (Провідник Windows)
Крок 3) Коли ви двічі клацнете на файлі, ви побачите список усіх файлів там.
Крок 4) У Python ми можемо мати більший контроль над архівом, оскільки ми можемо визначити, який конкретний файл включати до архіву. У нашому випадку ми включимо два файли до архівів "guru99.txt" та "guru99.txt.bak".
Пояснення коду
- Імпортуйте клас Zipfile із zip-файлу модуля Python. Цей модуль дає повний контроль над створенням zip-файлів
- Ми створюємо новий Zip-файл з іменем ("testguru99.zip," w ")
- Створення нового класу Zipfile вимагає надання дозволу, оскільки це файл, тому вам потрібно записати інформацію у файл як newzip
- Ми використовували змінну "newzip" для посилання на створений нами zip-файл
- Використовуючи функцію запису у змінну "newzip", ми додаємо файли "guru99.txt" та "guru99.txt.bak" в архів
Після запуску коду ви бачите, що файл створений праворуч на панелі з назвою "guru99.zip"
Примітка : Тут ми не даємо жодної команди "закрити" файл, як "newzip.close", оскільки ми використовуємо блокування області "With", тому, коли програма виходить за межі цієї області, файл буде очищений і автоматично закритий.
Крок 5) Коли ви -> клацаєте правою кнопкою миші на файлі (testguru99.zip) та -> вибираєте свою ОС (Провідник Windows) , вона відображатиме архівні файли в папці, як показано нижче.
Коли ви двічі клацнете на файлі "testguru99.zip", він відкриє інше вікно, і на ньому відобразяться файли, що в ньому містяться.
Ось повний код
Приклад Python 2
імпорт осімпорт шутілз імпорту файлу .zipз шляху імпорту osз імпорту shutil make_archivedef main ():# Перевірте, чи існує файлякщо path.exists ("guru99.txt"):# отримати шлях до файлу в поточному каталозіsrc = path.realpath ("guru99.txt");# перейменувати оригінальний файлos.rename ("кар'єра.guru99.txt", "guru99.txt")# тепер помістіть речі в ZIP-архівroot_dir, tail = path.split (src)shutil.make_archive ("архів guru99", "zip", root_dir)# ще детальний контроль над ZIP-файламиіз ZipFile ("testguru99.zip", "w") як newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")якщо __назва __ == "__основна__":основний ()
Приклад Python 3
імпорт осімпорт шутілз імпорту файлу .zipз шляху імпорту osз імпорту shutil make_archive# Перевірте, чи існує файлякщо path.exists ("guru99.txt"):# отримати шлях до файлу в поточному каталозіsrc = path.realpath ("guru99.txt");# перейменувати оригінальний файлos.rename ("кар'єра.guru99.txt", "guru99.txt")# тепер помістіть речі в ZIP-архівroot_dir, tail = path.split (src)shutil.make_archive ("архів guru99", "zip", root_dir)# ще детальний контроль над ZIP-файламиіз ZipFile ("testguru99.zip", "w") як newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
Резюме
- Щоб заархівувати весь каталог, використовуйте команду "shutil.make_archive (" ім'я "," zip ", root_dir)
- Для вибору файлів для zip використовуйте команду "ZipFile.write (ім'я файлу)"