Python File ZIP dengan Contoh

Python memungkinkan Anda membuat arsip zip/tar dengan cepat.

Perintah berikut akan menzip seluruh direktori

shutil.make_archive(output_filename, 'zip', dir_name)

Perintah berikut memberi Anda kendali atas file yang ingin Anda arsipkan

ZipFile.write(filename)

Berikut langkah-langkah membuat File Zip Python

Langkah 1) Untuk membuat file arsip dari Python, pastikan Anda memiliki pernyataan impor yang benar dan sesuai urutan. Berikut pernyataan impor untuk arsip tersebut from shutil import make_archive

Python File ZIP

Penjelasan Kode

  • Impor kelas make_archive dari modul shutil
  • Gunakan fungsi split untuk memisahkan direktori dan nama file dari jalur ke lokasi file teks (guru99)
  • Kemudian kita panggil modul “shutil.make_archive(“guru99 archive, “zip”, root_dir)” untuk membuat file arsip, yang akan berformat zip
  • Setelah itu kita memasukkan direktori root dari hal-hal yang ingin kita zip. Jadi semua yang ada di direktori akan di-zip
  • Ketika Anda menjalankan kode, Anda dapat melihat file zip arsip dibuat di sisi kanan panel.

Langkah 2) Setelah file arsip Anda dibuat, Anda dapat mengklik kanan pada file tersebut dan memilih OS, dan itu akan menampilkan file arsip Anda di dalamnya seperti yang ditunjukkan di bawah ini

Python File ZIP

Sekarang file archive.zip Anda akan muncul di OS Anda (Windows Penjelajah)

Python File ZIP

Langkah 3) Ketika Anda mengklik dua kali pada berkas tersebut, Anda akan melihat daftar semua berkas di sana.

Python File ZIP

Langkah 4) In Python kita dapat memiliki kontrol lebih terhadap arsip karena kita dapat menentukan file spesifik mana yang akan dimasukkan ke dalam arsip. Dalam kasus kita, kita akan memasukkan dua file ke dalam arsip “guru99.txt” dan “guru99.txt.bak”.

Python File ZIP

Penjelasan Kode

  • Impor kelas Zipfile dari file zip Python modul. Modul ini memberikan kontrol penuh atas pembuatan file zip
  • Kami membuat Zipfile baru dengan nama ( “testguru99.zip, “w”)
  • Membuat kelas Zipfile baru, memerlukan izin karena ini adalah file, jadi Anda perlu menulis informasi ke dalam file sebagai newzip
  • Kami menggunakan variabel "newzip" untuk merujuk ke file zip yang kami buat
  • Dengan menggunakan fungsi tulis pada variabel “newzip”, kita menambahkan file “guru99.txt” dan “guru99.txt.bak” ke dalam arsip

Saat Anda menjalankan kode, Anda dapat melihat file dibuat di sisi kanan panel dengan nama “guru99.zip”

Note: Di sini kami tidak memberikan perintah apa pun untuk “menutup” file seperti “newzip.close” karena kami menggunakan kunci cakupan “Dengan”, jadi ketika program berada di luar cakupan ini, file akan dibersihkan dan ditutup secara otomatis.

Langkah 5) Bila Anda -> klik kanan pada file (testguru99.zip) dan -> pilih OS Anda (Windows Penjelajah), ini akan menampilkan file arsip dalam folder seperti yang ditunjukkan di bawah ini.

Python File ZIP

Ketika Anda mengklik dua kali pada file “testguru99.zip”, maka akan terbuka jendela lain yang akan menampilkan file-file yang ada di dalamnya.

Python File ZIP

Berikut kode lengkapnya

Python 2 Contoh

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

def main():
# Check if file exists
	if path.exists("guru99.txt"):
# get the path to the file in the current directory
	src = path.realpath("guru99.txt");
# rename the original file
	os.rename("career.guru99.txt","guru99.txt")
# now put things into a ZIP archive
	root_dir,tail = path.split(src)
    shutil.make_archive("guru99 archive", "zip", root_dir)
# more fine-grained control over ZIP files
	with ZipFile("testguru99.zip","w") as newzip:
	newzip.write("guru99.txt")
	    newzip.write("guru99.txt.bak")
if __name__== "__main__":
	  main()

Python 3 Contoh

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

    # Check if file exists
       if path.exists("guru99.txt"):
    # get the path to the file in the current directory
        src = path.realpath("guru99.txt");
    # rename the original file
        os.rename("career.guru99.txt","guru99.txt")
    # now put things into a ZIP archive
        root_dir,tail = path.split(src)
        shutil.make_archive("guru99 archive","zip",root_dir)
    # more fine-grained control over ZIP files
        with ZipFile("testguru99.zip", "w") as newzip:
            newzip.write("guru99.txt")
            newzip.write("guru99.txt.bak")

Kesimpulan

  • Untuk menzip seluruh direktori gunakan perintah “shutil.make_archive(“name”,”zip”, root_dir)
  • Untuk memilih file yang akan di-zip, gunakan perintah “ZipFile.write(nama file)”