Bir dizinde istenilen uzantıdaki dosyaları başka bir dizine kopyalamak

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ı :

Bir dizinde istenilen uzantıdaki dosyaları başka bir dizine kopyalamak” için bir yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir