Python dilinde dizin işlemleri “OS” modülünü kullanarak yapılmaktadır. Bu örnekte bir dizindeki “.mp3” uzantılı dosyaları başka bir dizine nasıl kopyalanacağı anlatılmaktadır .
Python’daki OS modülü , işletim sistemi üzerinde değişiklikler yapmak için kullanılır . OS modülünün sunduğu işlevler,bazı zamanlar platform bağımlı olabilmektedir .
Bu yazıda yukarıdaki probleme karşılık gelen işlevlerin bazılarını göstereceğim.
1. “Os” ve “Path” modüllerini kullanarak kopyalama yapma :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import os from path import Path KAYNAK = '/Users/yyilmazmehmet/Desktop/a' # Müziklerin bulunduğu dizin HEDEF = '/Users/yyilmazmehmet/Desktop/a_copy' # Müziklerin Kopyalanacağı Dizin k = Path(KAYNAK) #KAYNAK Adlı değişken string bir ifadedir . Bu ifadeyi Path tipine dönüştürüyoruz . h = Path(HEDEF) #HEDEF Adlı değişken string bir ifadedir . Bu ifadeyi Path tipine dönüştürüyoruz . print("\n\nKAYNAK adlı değişkenin tipi : %s" % type(KAYNAK)) print("k adlı değişkenin tipi : %s " % type(k)) print("\n\nHEDEF adlı değişkenin tipi",type(HEDEF)) print("h adlı değişkenin tipi",type(h)) def transfer(): print ("\n\nDosyalar %s adresinden %s adresine kopyalanıyor !!\n" % (k, h)) dosya_sayisi = 0 for i in k.walk(): #dizinin içindek dosyaları gez if i.isfile() and i.endswith("mp3"): #eğer mevcut indiste bir mp3 uzantılı dosya var ise dosya_sayisi += 1 #dosya sayısını artır print("Kopyalanıyor %s" % i) i.copy(h) #hedefe mevcut indisteki mp3 uzantılı dosyayı kopyala if (dosya_sayisi == 0): print("Mevcut dizinde .mp3 uzantılı dosya bulunamadı ! ") else: print("\n%s adet dosya başarılı şekilde kopyalandı" % dosya_sayisi) if __name__ == "__main__": if(os.path.exists(KAYNAK)): transfer() else: print("\n\nDosya Yolu Bulunamadı") |
Program Çıktısı :
2-“OS” ve “Shutil” modüllerini kullanarak kopyalama yapma :
Shutil Nedir ?
Shutil dizinler üzerinde bulunan dosyaları kopyalama , taşıma , açma, okuma , yazma ve kapatma gibi işlemleri “OS” modülü ile beraber basitçe yapmamızı sağlayan bir Python modülüdür.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import os, shutil kaynak = "/Users/yyilmazmehmet/Desktop/a/" hedef = "/Users/yyilmazmehmet/Desktop/a_copy/" files = os.listdir(kaynak) files.sort() dosya_sayisi = 0 for f in files: if f.endswith(".mp3"): dosya_sayisi += 1 k = kaynak+f h = hedef+f shutil.copy(k,h) print("%d adet dosya kopyalandı" %dosya_sayisi) |
Program Çıktısı :
Modülleri nasıl yükleyeceğiz yardımcı olursanız sevinirim?