Python Örnek ile ZIP dosyası

⚡ Akıllı Özet

Python Bu, yerleşik shutil ve zipfile modülleriyle ZIP arşivleri oluşturur. Burada, make_archive() kullanarak tüm bir dizini sıkıştırmayı, ZipFile ile belirli dosyaları sıkıştırmayı ve daha fazlasını öğreneceksiniz.tracArşiv içeriğini listele ve oku.

  • 🗜️ arşiv oluştur(): `shutil.make_archive()` komutu, bir dizinin tamamını `.zip` dosyasına sıkıştırır.
  • 📄 ZipFile.write(): ZipFile.write() fonksiyonu, belirli dosyaları tek tek arşive ekler.
  • 📂 extracuzun(): ZipFile.extrac`tall()` fonksiyonu, arşivdeki tüm dosyaları bir klasöre açar.
  • ???? isim listesi(): ZipFile.namelist() fonksiyonu, bir ZIP arşivinin içindeki dosya adlarını listeler.
  • 🤖 Yapay zekâ yardımı: Copilot gibi yapay zeka araçları, zip ve unzip kodlarını anında oluşturur.

Python Sıkıştırılmış dosya

Python zip/tar arşivlerini hızlı bir şekilde oluşturmanıza olanak sağlar.

Aşağıdaki komut tüm dizini sıkıştıracaktır

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

Aşağıdaki komut, arşivlemek istediğiniz dosyalar üzerinde kontrol sahibi olmanızı sağlar

ZipFile.write(filename)

Bir dizinin tamamını nasıl sıkıştırabilirsiniz? Python

Zip Dosyası oluşturma adımları şunlardır Python

) 1 Adım Bir arşiv dosyası oluşturmak için Python, içe aktarma ifadenizin doğru ve düzenli olduğundan emin olun. Burada arşiv için içe aktarma ifadesi from shutil import make_archive

Python sıkıştırılmış dosya

Code açıklama

  • Make_archive sınıfını Shutil modülünden içe aktarın
  • Dizini ve dosya adını, metin dosyasının konumuna giden yoldan ayırmak için bölme işlevini kullanın (guru99)
  • Daha sonra zip formatında olacak arşiv dosyasını oluşturmak için “shutil.make_archive(“guru99 archive, “zip”, root_dir)” modülünü çağırıyoruz.
  • Daha sonra sıkıştırılmasını istediğimiz şeylerin kök dizinine geçiyoruz. Yani dizindeki her şey sıkıştırılacak
  • Kodu çalıştırdığınızda panelin sağ tarafında arşiv zip dosyasının oluşturulduğunu görebilirsiniz.

) 2 Adım Arşiv dosyanız oluşturulduktan sonra, dosyaya sağ tıklayıp işletim sistemini seçebilirsiniz; arşiv dosyalarınızı aşağıda gösterildiği gibi gösterecektir.

Python sıkıştırılmış dosya

Artık archive.zip dosyanız işletim sisteminizde görünecektir (Windows Explorer)

Python sıkıştırılmış dosya

) 3 Adım Dosyaya çift tıkladığınızda, oradaki tüm dosyaların listesini göreceksiniz.

Python sıkıştırılmış dosya

ZipFile Kullanarak Belirli Dosyaları Nasıl Sıkıştırabilirsiniz?

) 4 Adım In Python Arşiv altında hangi belirli dosyanın bulunacağını tanımlayabildiğimizden arşiv üzerinde daha fazla kontrole sahip olabiliriz. Bizim durumumuzda, arşiv altında iki dosya bulunacaktır “guru99.txt” hem de “guru99.txt.bak”.

Python sıkıştırılmış dosya

Code açıklama

  • Zipfile sınıfını zip dosyasından içe aktar Python modül. Bu modül, zip dosyalarının oluşturulması üzerinde tam kontrol sağlar
  • ( “testguru99.zip, “w”) adında yeni bir Zip dosyası oluşturuyoruz.
  • Yeni bir Zipfile sınıfı oluşturmak, bir dosya olduğundan izin verilmesini gerektirir, bu nedenle bilgileri dosyaya yenizip olarak yazmanız gerekir
  • Oluşturduğumuz zip dosyasına atıfta bulunmak için “newzip” değişkenini kullandık
  • “newzip” değişkeni üzerindeki write fonksiyonunu kullanarak “guru99.txt” ve “guru99.txt.bak” dosyalarını arşive ekliyoruz.

Kodu çalıştırdığınızda panelin sağ tarafında “guru99.zip” adında dosyanın oluşturulduğunu görebilirsiniz.

not: Burada “with” kapsam kilidini kullandığımız için “newzip.close” gibi dosyayı “kapatma” komutu vermiyoruz, dolayısıyla program bu kapsamın dışına çıktığında dosya temizlenecek ve otomatik olarak kapatılacaktır.

) 5 Adım Ne zaman -> dosyaya (testguru99.zip) sağ tıklayın ve -> işletim sisteminizi seçin (Windows Explorer), aşağıda gösterildiği gibi klasördeki arşiv dosyalarını gösterecektir.

Python sıkıştırılmış dosya

“Testguru99.zip” dosyasına çift tıkladığınızda başka bir pencere açılacak ve bu pencerede bulunan dosyalar gösterilecektir.

Python sıkıştırılmış dosya

Tamamla Python Code ZIP dosyası oluşturmak için

İşte kodun tamamı

Python 2 Örnek

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 Örnek

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")

Nasıl Yapılırtract (ZIP dosyasını aç) Python

Bir arşivi açmak için, ZipFile ile okuma modunda açın ve ex komutunu çalıştırın.tracuzun()tracher dosyada veya örneğintract() fonksiyonu tek bir üyeyi çıkarmak için kullanılır.

from zipfile import ZipFile

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

Eskitrac`tall()` metodu, arşivlenmiş tüm dosyaları argüman olarak belirttiğiniz klasöre yazar.

ZIP dosyasındaki dosyaları nasıl listeleyebilirim? Archive

Arşivi incelemeye gerek kalmadan erişebilirsiniz.tracZIP dosyasının içindeki her dosyanın adını döndüren namelist() metodunu kullanabilirsiniz.

from zipfile import ZipFile

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

Bu komut, arşivde bulunan dosya adlarının bir listesini yazdırır.

ZIP dosyası içindeki bir dosyayı nasıl okuyabilirim? Archive

Arşivi açmadan doğrudan üye dosyasını okuyabilirsiniz.ping ZipFile sınıfının open() yöntemini kullanarak onu diske kaydedin.

from zipfile import ZipFile

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

Bu, büyük bir arşivden yalnızca bir dosyanın içeriğine ihtiyacınız olduğunda kullanışlıdır.

SSS

Bir dizini sıkıştırmak için `shutil.make_archive(name, 'zip', root_dir)` komutunu kullanın veya arşive belirli dosyalar eklemek için bir ZipFile dosyasını yazma modunda açıp `write()` işlevini çağırın.

`shutil.make_archive()` tek bir çağrıyla tüm bir dizini sıkıştırırken, `zipfile.ZipFile` daha ince kontrol sağlayarak dosya eklemenize, okumanıza veya çıkarmanıza olanak tanır.tracArşiv içindeki ayrı ayrı dosyalar.

Arşivi ZipFile('file.zip', 'r') ile açın ve ex komutunu çağırın.tracuzun('klasör') eskitracher şey, ya da örneğintracArşivden tek bir dosyayı çıkarmak için t('name') kullanılır.

Zip dosyasını okuma modunda açın ve namelist() işlevini çağırın; bu işlev, arşivde saklanan her dosya adının listesini döndürür (hariç tutmadan).tracOnlardan herhangi birini.

`with` ifadesi, bir hata oluşsa bile, blok sona erdiğinde arşivi otomatik olarak kapatır; bu nedenle `close()` fonksiyonunu manuel olarak çağırmanıza gerek yoktur.

GitHub Copilot gibi yapay zeka asistanları, ZipFile ve make_archive() çağrılarını otomatik olarak tamamlar ve düz metin açıklamasından yola çıkarak birçok dosyayı sıkıştıran veya açan döngüler oluşturur.

Evet. Yapay zeka destekli araçlar, yedekleme ve arşivleme komut dosyalarının yazımını otomatikleştirebilir, shutil ve zipfile arasında seçim yapabilir ve eksik dosyalar veya bozuk arşivler için hata işleme ekleyebilir.

Evet. Zip dosyasını açın, ardından içeriğini doğrudan okumak için üye dosyalardan birinde open() yöntemini kullanın, harici bir dosyaya gerek kalmadan.tracArşivin tamamını diske kaydetmek.

Bu yazıyı şu şekilde özetleyin: