Kaydol

Giriş Yap

Parolanızı mı unuttunuz

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Üzgünüz, gönderi ekleme izniniz yok.

Python’la Kendi Arama Motorunuzu Yapabilirsiniz

    Merhaba arkadaşlar, bugün kendi arama motorumuzu yazacağız. Bu sayede arama motorlarının çalışma mantığını anlayacak ve Windows’un kendi arama motorundan çok daha hızlı bir arama motoruna sahip olacaksınız. Yazacağınız arama motoru bilgisayar içerisinde dosya ararken kullanılabilecek türden bir program olacak. Programın çalışma mantığı belirli bir kelimeyle veya harfle dosya aramak olacak.Temel anlamda gerekli modülleri ve fonksiyonları gösterip yazacağız. Programı güncelleyip geliştirmek size kalmış.

import os

    Bilgisayar içinde bulunan belirli bir yol altındaki dosyalara teker teker erişmek için kullanacağımız fonksiyonlara sahip os modülünü programımıza ekliyoruz.

kontrol = 1
aranacak = input ("Aranacak kelime")
while kontrol:
    path_ = input("Dosya nerede aranacak?")
    if os.path.exists(path_):
        kontrol = 0
    else:
        print("Yol geçerli değil.")

    Bu satırlarda aranacak dosyanın hangi yolda aranacağı belirleniyor.
    Artık arama motorunun bel kemiğine geçebiliriz.

for roots, dirs, files in os.walk(path_):
    for each_file in files:
        if aranacak in str(each_file):
            print(roots.replace("\\","/") +"/"+str(each_file))

    Son yazılan kısmı satır satır inceleyelim.
1. Satır: Programın başında yüklediğimiz os modülü içerisinde bulunan walk class’ını kullanıyoruz. Bu bize bir alt satırda her bir dosyaya teker teker erişmemize olanak sağlıyor.
2. Satır: Bu satırda dosya havuzunda bulunan dosyalara teker teker erişiyoruz. Aynı işlemi root‘lara veya directory‘lere de uygulayabilirsiniz.
3. Satır: Bu satırda aranacak kelimenin dosya isminde bulunup bulunmadığı kontrol ediliyor.
4. Satır: Eğer aranan kelime dosya isminde var ise dosyanın yolu ve dosya ismi ekrana yazdırılıyor. Bu da kullanıcıya dosyaya kolay erişme imkanı sunuluyor.

os modülü son derece geniş bir modüldür. os modülünü etkileşimli kabukta import ettikten sonra dir(os) yazarak altında bulunan metodlara erişebilirsiniz. os modülü altında bulunan metodlardan birkaç örnek verelim.

 

os.chdir()Çalışılan yolu değiştirir.
os.chmod()Herhangi bir dosyanın erişim iznini değiştirir.
os.getcwd()İçinde bulunan yolu string olarak döndürür.
os.getcwdb()İçinde bulunan yolu byte olarak döndürür.
os.listdir()Bir yol altında bulunan klasörleri listeler.
os.mkdir()Klasör oluşturmaya yarar.

 

Bir sonraki yayında görüşmek üzere. Sevgiler, saygılar sunarım.

İlginizi Çekebilecek Diğer Yazılar

Python'da Yazıyı Sese, Sesi Yazıya Nasıl Dönüştürürüz?

    Merhaba arkadaşlar, bugün yazıları kendi yazdığımız programla nasıl sese dönüştürürüz ve bu işlemin ...

Python'da Mail Nasıl Atılır?

    Merhaba arkadaşlar bugün “Python ile mail nasıl atılır?” sorusunu cevaplayacağız. smtplib modülü sıradan ...

Python'da Bilgisayarlar Arası Veri Alışverişi

    Merhaba arkadaşlar bugün, “Python programlama dili ile veri alışverişi nasıl yapılır?” sorusunu cevaplayacağız. ...

Python'da Sınıf Kullanımı

    Merhaba arkadaşlar, bugün ki konumuz sınıflar. Sınıflar değişkenlere özellik eklemek için kullanılır. Daha iyi ...

Python'da Fonksiyonlar ve Hata Yakalama

Merhaba arkadaşlar, bügün ki konumuz fonksiyonlar ve hata yakalama.     Belli bir kod bloğunu ...

Python'da Döngüler

    Merhaba arkadaşlar,     Programlamada en çok kullandığımız yapılardan birisi de döngülerdir. Döngüler, ...

Python'da Liste Kullanımı ve Metotları

Merhaba arkadaşlar, Bugün ki konumuz listeler. Listeler son derece kullanışlı bir veri tipidir ve çoğu ...

Python'da İf-Elif-Else Yapısı

Merhaba arkadaşlar, geçen derste karakter dizisi metotlarından birkaçını görmüştük. Bu ders ise if-elif-else yapısını görerek ...

Python'da Karakter Dizisi Metotları

Merhaba arkadaşlar, Bugün işleyeceğimiz konu karakter dizileri ve karakter dizisi metotları. Karakter dizilerini ve metotlarını ...

Python, Bir Başka Dünya

Öncelikle merhaba, Ben Metehan. Programlama ile yaklaşık iki senedir ilgileniyorum ancak Python ile tanışmam 1.5 ...