Python
63 ~30 dk

Otomasyon ve Scripting

Dosya Otomasyonu

import os, shutil, glob
from datetime import datetime

# Dosyaları türüne göre sınıfla
def dosya_sinifla(klasor):
    tipler = {
        "Resimler": [".jpg", ".jpeg", ".png", ".gif"],
        "Belgeler": [".pdf", ".docx", ".txt", ".xlsx"],
        "Videolar": [".mp4", ".avi", ".mkv"],
        "Muzikler": [".mp3", ".wav", ".flac"],
    }
    
    for dosya in os.listdir(klasor):
        dosya_yolu = os.path.join(klasor, dosya)
        if os.path.isfile(dosya_yolu):
            uzanti = os.path.splitext(dosya)[1].lower()
            for kategori, uzantilar in tipler.items():
                if uzanti in uzantilar:
                    hedef = os.path.join(klasor, kategori)
                    os.makedirs(hedef, exist_ok=True)
                    shutil.move(dosya_yolu, os.path.join(hedef, dosya))
                    print(f"📁 {dosya} → {kategori}/")
                    break

dosya_sinifla("C:/Users/Kadir/Downloads")

Toplu Dosya İsimlendirme

def toplu_yeniden_adlandir(klasor, eski, yeni):
    for dosya in glob.glob(os.path.join(klasor, f"*{eski}*")):
        yeni_ad = dosya.replace(eski, yeni)
        os.rename(dosya, yeni_ad)
        print(f"✅ {os.path.basename(dosya)} → {os.path.basename(yeni_ad)}")

toplu_yeniden_adlandir("./fotolar", "IMG_", "tatil_")

🎯 Alıştırmalar

  1. Belirli bir klasördeki büyük dosyaları (>100MB) bulan program
  2. Eski dosyaları (30 günden eski) yedek klasöre taşıyan program

Yorumlar 0

Giriş yapın — Yorumlarınız hemen yayınlansın
Henüz yorum yapılmamış. İlk yorumu siz yapın!