Python memungkinkan Anda membuat arsip zip / tar dengan cepat.
Perintah berikut akan membuat zip seluruh direktori
shutil.make_archive(output_filename, 'zip', dir_name)
Perintah berikut memberi Anda kontrol pada file yang ingin Anda arsipkan
ZipFile.write(filename)
Berikut langkah-langkah untuk membuat File Zip dengan Python
Langkah 1) Untuk membuat file arsip dari Python, pastikan Anda memiliki pernyataan import yang benar dan teratur. Di sini pernyataan impor untuk arsip adalah
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 memanggil modul "shutil.make_archive (" arsip guru99, "zip", root_dir) "untuk membuat file arsip, yang akan berformat zip
- Setelah itu kami melewati direktori root dari hal-hal yang ingin kami zip. Jadi semua yang ada di direktori akan di-zip
- Saat Anda menjalankan kode, Anda dapat melihat file zip arsip dibuat di sisi kanan panel.
Langkah 2)
Sekarang file archive.zip Anda akan muncul di OS Anda (Windows Explorer)
Langkah 3) Saat Anda mengklik dua kali pada file tersebut, Anda akan melihat daftar semua file di sana.
Langkah 4) Dengan Python kita dapat memiliki lebih banyak kendali atas arsip karena kita dapat menentukan file spesifik mana yang akan disertakan di bawah arsip. Dalam kasus kami, kami akan menyertakan dua file di bawah arsip "guru99.txt" dan "guru99.txt.bak".
Penjelasan Kode
- Impor kelas Zipfile dari modul Python file zip. Modul ini memberikan kendali 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
- Menggunakan fungsi tulis pada variabel "newzip", kami menambahkan file "guru99.txt" dan "guru99.txt.bak" ke arsip
Saat Anda menjalankan kode, Anda dapat melihat file dibuat di sisi kanan panel dengan nama "guru99.zip"
Catatan : 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) Ketika Anda -> klik kanan pada file (testguru99.zip) dan -> pilih OS Anda (Windows Explorer) , itu akan menampilkan file arsip di folder seperti yang ditunjukkan di bawah ini.
Ketika Anda mengklik dua kali pada file "testguru99.zip", itu akan membuka jendela lain, dan ini akan menampilkan file yang termasuk di dalamnya.
Ini kode lengkapnya
Contoh Python 2
impor osimpor tutupdari zipfile, impor ZipFiledari jalur impor osdari shutil import make_archivedef main ():# Periksa apakah file adajika path.exists ("guru99.txt"):# dapatkan jalur ke file di direktori saat inisrc = path.realpath ("guru99.txt");# ganti nama file aslinyaos.rename ("career.guru99.txt", "guru99.txt")# sekarang masukkan semuanya ke dalam arsip ZIProot_dir, tail = path.split (src)shutil.make_archive ("arsip guru99", "zip", root_dir)# kontrol lebih halus atas file ZIPdengan ZipFile ("testguru99.zip", "w") sebagai newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")jika __name __ == "__main__":utama()
Contoh Python 3
impor osimpor tutupdari zipfile, impor ZipFiledari jalur impor osdari shutil import make_archive# Periksa apakah file adajika path.exists ("guru99.txt"):# dapatkan jalur ke file di direktori saat inisrc = path.realpath ("guru99.txt");# ganti nama file aslinyaos.rename ("career.guru99.txt", "guru99.txt")# sekarang masukkan semuanya ke dalam arsip ZIProot_dir, tail = path.split (src)shutil.make_archive ("arsip guru99", "zip", root_dir)# kontrol lebih halus atas file ZIPdengan ZipFile ("testguru99.zip", "w") sebagai newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
Ringkasan
- Untuk membuat zip seluruh direktori, gunakan perintah "shutil.make_archive (" name "," zip ", root_dir)
- Untuk memilih file yang akan di zip gunakan perintah "ZipFile.write (filename)"