Python Örnek ile ZIP dosyası

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)

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

Kod 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

) 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” ve “guru99.txt.bak”.

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

Kod 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

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

ÖZET

  • Dizinin tamamını sıkıştırmak için “shutil.make_archive(“name”,”zip”, root_dir) komutunu kullanın.
  • Sıkıştırılacak dosyaları seçmek için “ZipFile.write(dosya adı)” komutunu kullanın.