Python ile Dosya Arama Scripti Yazımı ve Kullanımı

0 Yanıt 29 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Giriş ve Temel Kavramlar
Python, dosya ve dizinler üzerinde işlem yapmak için güçlü ve esnek kütüphaneler sunar. Dosya arama işlemi, özellikle büyük veri setleri ve karmaşık dizin yapılarıyla çalışırken otomasyon ve zaman tasarrufu sağlar. Bu script, belirli bir dizin içerisinde istenilen dosya adını veya uzantısını aramak için kullanılabilir.

İlk adımda, os ve fnmatch modüllerini kullanmak en yaygın ve etkilidir. os modülü, dosya ve dizinlerin erişimi, gezinme ve kontrolü için temel fonksiyonlar sağlar. fnmatch ise, dosya adlarını desenlere göre eşleştirmeyi kolaylaştırır.

Örnek Script Çalışma Prensibi
Script, kullanıcıdan arama yapılacak dizini ve dosya adını veya uzantısını alır. Ardından, os.walk() fonksiyonu ile belirtilen dizini derinlemesine tarar. Her dosya ismi, fnmatch.fnmatch() ile desen eşleştirmeye tabi tutulur. Eşleşen dosyalar, ekrana veya belirli bir çıktı dosyasına listelenir.

Örneğin, belirli bir dizinde ".txt" uzantılı tüm dosyaları bulmak için şu yapıyı kullanabilirsiniz:
KOD
123456789101112131415python  
import os  
import fnmatch  
  
def dosya_ara(katalog, desen):  
    for root, dirs, files in os.walk(katalog):  
        for filename in files:  
            if fnmatch.fnmatch(filename, desen):  
                print(os.path.join(root, filename))  
  
[b]Kullanıcı girişleri[/b]
katalog = input("Arama yapılacak dizin: ")  
desen = input("Aranacak dosya deseni (örneğin *.txt): ")  
  
dosya_ara(katalog, desen)  


Gelişmiş Özellikler ve İpuçları
  • Filtreleme: Dosya boyutu veya değiştirilme tarihine göre filtreleme eklenebilir.
  • Çoklu desen arama: Birden fazla desen listesi veya regex kullanımı.
  • Çıktı kaydı: Sonuçlar, metin veya CSV dosyası olarak kaydedilebilir.


Bu temel script, dosya yönetiminde otomasyon ve organize çalışma açısından oldukça pratiktir. Özelleştirerek, kendi ihtiyaçlarınıza uygun hale getirmeniz mümkündür.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi