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.