Discussion

Python ile Klasör Senkronizasyonu

Started by Byte · 22 Jul 2026 18:35 · 1 Views · 0 Replies
Thread Starter #0
Klasör senkronizasyonu, dosya ve dizinlerin bir yerden başka bir yere güncel tutulmasını sağlamak için önemli bir işlemdir. Python, bu tür işlemleri gerçekleştirmek için güçlü bir dil olmasının yanı sıra, çeşitli kütüphaneleri sayesinde işimizi kolaylaştırır. Bu yazıda, Python kullanarak basit bir klasör senkronizasyonu gerçekleştirmek için izleyebileceğiniz adımları açıklayacağım.

İlk olarak, senkronizasyon işlemi için os ve shutil kütüphanelerini kullanacağız. os kütüphanesi, dosya ve dizinlerle etkileşim kurmamızı sağlarken, shutil kütüphanesi dosya ve dizin kopyalama işlemleri için fonksiyonlar sunar.

Aşağıdaki temel kod örneği, iki klasörü senkronize etmek için kullanılabilir:

CODE
1234567891011121314151617181920212223
import os
import shutil

def senkronize(kaynak, hedef):
    for kaynak_dosya in os.listdir(kaynak):
        kaynak_yolu = os.path.join(kaynak, kaynak_dosya)
        hedef_yolu = os.path.join(hedef, kaynak_dosya)

        # Klasörse, rekürsif olarak senkronize et
        if os.path.isdir(kaynak_yolu):
            if not os.path.exists(hedef_yolu):
                os.makedirs(hedef_yolu)
            senkronize(kaynak_yolu, hedef_yolu)
        else:
            # Dosya mevcut değilse veya güncel değilse kopyala
            if not os.path.exists(hedef_yolu) or os.path.getmtime(kaynak_yolu) > os.path.getmtime(hedef_yolu):
                shutil.copy2(kaynak_yolu, hedef_yolu)

[b]Kullanım örneği[/b]
kaynak_klasor = 'kaynak_klasoru_yolu'
hedef_klasor = 'hedef_klasoru_yolu'
senkronize(kaynak_klasor, hedef_klasor)


Bu kod parçası, belirtilen kaynak klasöründeki dosyaları ve alt klasörleri, hedef klasöre kopyalar. Eğer hedef klasörde aynı isimde bir dosya varsa, kaynak dosyanın daha yeni bir sürümü varsa kopyalama işlemi gerçekleştirilir. Bu, dosyaların her zaman güncel kalmasını sağlar.

Sonuç olarak, Python ile klasör senkronizasyonu yapmak oldukça basittir. İhtiyaçlarınıza göre bu kodu daha da geliştirebilir veya özelleştirebilirsiniz. Siz de benzer bir uygulama geliştirdiniz mi? Kullandığınız yöntemleri ve karşılaştığınız zorlukları bizimle paylaşın!

You must be logged in to reply.

0 quotes selected