from colorama import Fore, init import os import glob import time import sys init(autoreset=True) def animasyonlu_yazdir(metin, hiz=0.03): for karakter in metin: sys.stdout.write(karakter) sys.stdout.flush() time.sleep(hiz) def yeni_sonuc_dosyasi(): dosya_adı = "Sonuçlar.txt" sayac = 1 while os.path.exists(dosya_adı): dosya_adı = f"Sonuçlar ({sayac}).txt" sayac += 1 return dosya_adı def kelime_taramasi(kelime): txt_dosyaları = glob.glob(os.path.join(klasor_yolu, '*.txt')) sonuç_bulundu = False sonuçlar_dosyası = yeni_sonuc_dosyasi() with open(sonuçlar_dosyası, 'w', encoding='utf-8') as sonuç_dosya: sonuç_dosya.write(f"Taranan kelime: {kelime}\n") sonuç_dosya.write("█████████████████████████████████████████████\n") for dosya in txt_dosyaları: with open(dosya, 'r', encoding='utf-8', errors='ignore') as f: satırlar = f.readlines() for satır in satırlar: if kelime in satır: sonuç = satır.strip() print(Fore.GREEN + sonuç) sonuç_dosya.write(sonuç + "\n") sonuç_bulundu = True if not sonuç_bulundu: sonuç_dosya.write("Sonuç Bulunamadı\n") print(Fore.RED + "Sonuç Bulunamadı") klasor_yolu = os.path.join(os.getcwd(), 'txt') banner = (Fore.RED + ''' ▄████████ ▄████████ ███ ███ ███ ███ ███ ▀█████████▄ ███ ███ ███ █▀ ▀███▀▀██ ███ ███ ▄███▄▄▄ ███ ▀ ▀███████████ ▀▀███▀▀▀ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███ █▀ ███ ▄████▀ \n''' + Fore.RESET) print(banner) while True: print(Fore.BLUE + "█████████████████████████████████████████████") animasyonlu_yazdir("Taratmak istediğiniz kelimeyi girin: ") kelime = input() kelime_taramasi(kelime) while True: animasyonlu_yazdir("Yeni bir tarama yapmak ister misiniz? (E/H): ") cevap = input().strip().upper() print(Fore.BLUE + "█████████████████████████████████████████████") if cevap == 'E': animasyonlu_yazdir("Yeni bir tarama başlatılıyor...\n") break elif cevap == 'H': animasyonlu_yazdir("Program kapatılıyor...\n") time.sleep(3) sys.exit() else: print(Fore.YELLOW + "Lütfen sadece 'E' veya 'H' tuşlarını kullanın!") print(Fore.BLUE + "█████████████████████████████████████████████")