📚 Bu yazı bir serinin parçası — Sıfırdan Python Otomasyonu
  1. Bölüm 1: Sıfırdan Python Otomasyonu #1: Kurulum ve İlk Script
  2. Bölüm 2: Sıfırdan Python Otomasyonu #2: Dosya ve Klasörlerle Çalışmak
  3. Bölüm 3: Sıfırdan Python Otomasyonu #3: İlk Gerçek Otomasyonunuz (bu yazı)

Seride öğrendiğimiz her şeyi birleştirme zamanı. Herkesin başına gelen bir sorunu çözeceğiz: dağınık İndirilenler klasörü. Script, dosyaları uzantılarına göre (resimler, PDF'ler, belgeler...) ayrı klasörlere taşıyacak.

Plan

  1. Klasördeki tüm dosyaları gez.
  2. Her dosyanın uzantısına bak.
  3. Uzantıya uygun bir hedef klasör belirle.
  4. Dosyayı o klasöre taşı.

Kod

from pathlib import Path
import shutil

kaynak = Path.home() / "Downloads"

turler = {
    "Resimler": [".jpg", ".jpeg", ".png", ".gif"],
    "PDFler": [".pdf"],
    "Belgeler": [".doc", ".docx", ".txt", ".xlsx"],
    "Arsivler": [".zip", ".rar"],
}

def hedef_klasor(uzanti):
    for klasor, uzantilar in turler.items():
        if uzanti.lower() in uzantilar:
            return klasor
    return "Diger"

for dosya in kaynak.iterdir():
    if dosya.is_file():
        hedef = kaynak / hedef_klasor(dosya.suffix)
        hedef.mkdir(exist_ok=True)
        shutil.move(str(dosya), str(hedef / dosya.name))
        print("Tasindi:", dosya.name, "->", hedef.name)

print("Klasor duzenlendi.")
💡

Scripti ilk kez çalıştırmadan önce önemli bir klasörde denemeyin; küçük bir test klasörüyle deneyip güvenli olduğundan emin olun.

Tebrikler!

İşte bu — gerçek, işe yarayan bir otomasyon. Aynı mantıkla dosya adlarını düzenleyebilir, tarihe göre klasörleyebilir, eski dosyaları silebilirsiniz. Seriyi bitirdiniz; buradan sonrası hayal gücünüze kalmış. Daha ileri konular için scripti otomatik zamanlamaya göz atın.