Python File ZIP dengan Contoh

โšก Ringkasan Cerdas

Python Membuat arsip ZIP dengan modul shutil dan zipfile bawaan. Di sini Anda akan belajar mengkompres seluruh direktori menggunakan make_archive(), mengkompres file tertentu dengan ZipFile, dan lain sebagainya.tract, daftar, dan baca isi arsip.

  • ๏ธ buat_arsip(): shutil.make_archive() mengkompres seluruh direktori ke dalam file .zip.
  • ๐Ÿ“„ ZipFile.write(): ZipFile.write() menambahkan file tertentu ke dalam arsip satu per satu.
  • ๐Ÿ“‚ extractinggi(): ZipFile.extractall() mengekstrak setiap file dari arsip ke dalam sebuah folder.
  • ๐Ÿ“‹ namelist(): ZipFile.namelist() menampilkan daftar nama file di dalam arsip ZIP.
  • ๐Ÿค– Bantuan AI: Alat AI seperti Copilot menghasilkan kode pos dan kode dekoding secara instan.

Python File ZIP

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)

Cara Mengkompres Seluruh Direktori Python

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

Code Penjelasan

  • 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

Cara Mengkompres File Tertentu Menggunakan ZipFile

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โ€ ke โ€œguru99.txt.bakโ€.

Python File ZIP

Code Penjelasan

  • 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

Menyelesaikan Python Code Cara Membuat 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")

Cara Keluartract (Ekstrak) File ZIP di Python

Untuk mengekstrak arsip, buka dalam mode baca dengan ZipFile dan panggil ex.tractinggi() untuk extract setiap file, atau extracGunakan t() untuk menarik keluar satu anggota.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    myzip.extractall("extracted_files")

Sang mantantracMetode tall() menulis semua file yang diarsipkan ke dalam folder yang Anda berikan sebagai argumen.

Cara Menampilkan Daftar File dalam File ZIP Archive

Anda dapat memeriksa arsip tanpa perlutracMetode namelist() mengembalikan nama-nama setiap file yang tersimpan di dalam ZIP.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    print(myzip.namelist())

Ini mencetak daftar nama file yang terdapat di dalam arsip.

Cara Membaca File di Dalam ZIP Archive

Anda dapat membaca file anggota langsung dari arsip tanpa perlu melakukan unzip.ping simpan ke disk menggunakan metode open() dari ZipFile.

from zipfile import ZipFile

with ZipFile("testguru99.zip", "r") as myzip:
    with myzip.open("guru99.txt") as f:
        print(f.read())

Ini berguna ketika Anda hanya membutuhkan isi dari satu file dari arsip yang besar.

Pertanyaan Umum Demo Slot

Gunakan shutil.make_archive(name, 'zip', root_dir) untuk mengkompres direktori, atau buka ZipFile dalam mode tulis dan panggil write() untuk menambahkan file tertentu ke dalam arsip.

shutil.make_archive() mengkompres seluruh direktori dalam satu panggilan, sedangkan zipfile.ZipFile memberikan kontrol yang lebih baik, memungkinkan Anda untuk menambahkan, membaca, atau mengekstrak.tract file individual di dalam arsip.

Buka arsip dengan ZipFile('file.zip', 'r') dan panggil extractinggi('folder') ke extracsemuanya, atau misalnyatract('name') untuk mengambil satu file dari arsip.

Buka ZipFile dalam mode baca dan panggil namelist(), yang akan mengembalikan daftar setiap nama file yang tersimpan di dalam arsip tanpa pengecualian.tractidak melakukan salah satu dari mereka.

Pernyataan `with` secara otomatis menutup arsip ketika blok berakhir, bahkan jika terjadi kesalahan, sehingga Anda tidak perlu memanggil `close()` secara manual.

Asisten AI seperti GitHub Copilot secara otomatis melengkapi panggilan ZipFile dan make_archive(), serta menghasilkan perulangan yang mengompres atau mengekstrak banyak file dari deskripsi dalam bahasa sederhana.

Ya. Alat berbasis AI dapat mengotomatiskan penulisan skrip pencadangan dan pengarsipan, memilih antara shutil dan zipfile, serta menambahkan penanganan kesalahan untuk file yang hilang atau arsip yang rusak.

Ya. Buka ZipFile, lalu gunakan metode open() pada file anggota untuk membaca isinya secara langsung, tanpa perlu...tracMemindahkan seluruh arsip ke disk.

Ringkaslah postingan ini dengan: