Merhaba hocalarım öncelikle iyi akşamlar... bir sorum olacak;
Python ile klasör içindeki dosyalardaki benzer kelimelerin tümünü değiştirmek istiyorum bir türlü halledemedim. Dosyaların adını değiştirmeyi yapabiliyorum ama dosyaların içindeki kelimeleri değiştiremiyorum. Örnek olarak A adında bir klasörümüz olsun A klasörünün altında da A1, A2, A3 gibi dosyalar var bu dosyaların içeriği aynı olacak mesela merhaba gibi benim bu dosyaların içinde yazan merhaba'yı selam olarak değiştirmem lazım ama toplu bir halde. Nasıl yapabilirim bilgi verebilecek biri var mı acaba?
?Python Sorusu?
3
●132
- 18-05-2022, 00:26:27
import os from pathlib import Path def replace_with_news(directory, text, replacedText): # dizindeki tum txtleri getir result = list(Path(directory).rglob("*.[tT][xX][tT]")) # tum txtleri sirayla dolasip oku, yeni metinlerle degis ve yaz. for file in result: # oku with open(file, 'r', encoding="utf-8") as rfile: data = rfile.read() data = data.replace(text,replacedText) # yaz with open(file, 'w', encoding="utf-8") as rfile: rfile.write(data) # degistir replace_with_news(os.getcwd(), 'good', 'yeni')String replacement olayı çok complex, birçok validasyon gerektiriyor. Ornegin özel isimler, ek alan kelimeler, büyük kucuk harflerle eşleşme gibi birçok validasyondan geçirmeniz gerekiyor. Geçirdikten sonra replace_with_news() fonksiyona gonderin. Bir de encodingten kaynaklı sorunlar için de try catch içine alıp ona göre işlem yapabilirsiniz.