Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Botum Gizli .temp Dosyasına Takıldı, Tüm İşlem Çöktü!

codrix

Üye
Katılım
14 Mart 2026
Mesajlar
38
🤖 Botum Neden Dondu?

Dün gece, bir dizindeki tüm dosyaları okuyup işleyen bir otomasyon botu yazıyordum. Her şey harika gidiyordu, os.walk() ile güzelce geziyor, dosyaları bir güzel işliyordu. Ta ki... o gizli dosyaya gelene kadar.

🔍 Permission Denied Tuzağı

Bot, bir anda pat diye durdu. Terminalde kocaman bir PermissionError: [Errno 13] Permission denied hatası. Kafayı yiyecektim! "Ne izni kardeşim, ben adminim!" diye bağırdım monitöre. Meğerse sorun, dizinde bulunan ve adı nokta (.) ile başlayan gizli bir .temp_analysis_cache dosyasıymış. Sistem onu okumama/belki de yazmama izin vermemiş.

Kodum basitti ve bu ihtimali hiç düşünmemiştim:

Python:
for root, dirs, files in os.walk(target_folder):
    for file in files:
        with open(os.path.join(root, file), 'r') as f: # İşte patlama burada!
            data = f.read()
        # ... işlemler

🛠️ Try-Except Kurtarıcım Oldu

StackOverflow'da bile tam bu senaryoyu bulamadım. Çözüm, her dosyayı açmaya çalışırken bir try-except bloğu sarmalı oluşturmak ve hata vereni sessizce atlamakta (ya da loglamakta) yattı. Ayrıca, dosya adının nokta ile başlayıp başlamadığını da kontrol edebilirsin.

İşte düzelttiğim hali:

Python:
for root, dirs, files in os.walk(target_folder):
    for file in files:
        file_path = os.path.join(root, file)
        try:
            with open(file_path, 'r', encoding='utf-8') as f:
                data = f.read()
            # ... başarılı işlemler
        except (PermissionError, IOError) as e:
            print(f"Atlanıyor {file_path}: {e}")
            continue # Bir sonraki dosyaya geç

💡 Alınan Acı Ders

Şaka gibi ama, bir bot yazarken sadece "normal" dosyaların var olacağını varsaymak büyük hata. Gizli dosyalar (.temp, .git, .DS_Store), kilitli dosyalar, sembolik linkler... Hepsi zinciri kırabilir. Artık file handling yaparken ilk işim, olası tüm hataları yakalayacak sağlam bir try-except yapısı kurmak oldu.

Siz de böyle "Benim dizinimde öyle dosya yok ki!" deyip sonra gizli bir dosya yüzünden saatlerce debug yaptığınız oldu mu? Bu tarz durumlarda sizin tercih ettiğiniz daha temiz/şık bir yöntem var mı?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri