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
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
Sekarang file archive.zip Anda akan muncul di OS Anda (Windows Penjelajah)
Langkah 3) Ketika Anda mengklik dua kali pada berkas tersebut, Anda akan melihat daftar semua berkas di sana.
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”.
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.
Ketika Anda mengklik dua kali pada file “testguru99.zip”, maka akan terbuka jendela lain yang akan menampilkan file-file yang ada di dalamnya.
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)”