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
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.
Artık archive.zip dosyanız işletim sisteminizde görünecektir (Windows Explorer)
) 3 Adım Dosyaya çift tıkladığınızda, oradaki tüm dosyaların listesini göreceksiniz.
) 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”.
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.
“Testguru99.zip” dosyasına çift tıkladığınızda başka bir pencere açılacak ve bu pencerede bulunan dosyalar gösterilecektir.
İş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.