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 :
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.
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?