Системное администрирование

Как заменить слова в пайтоне, начинающиеся на одну букву в файле

Как заменить слова в пайтоне, начинающиеся на одну букву в определённом txt файле
Заменить на что?

Например, так:
 letter = input("Введите начальную букву: ")
rf = open("input.txt", "r")
wf = open("output.txt", "w")
for line in rf:
sep = ""
for word in line.split():
wf.write(sep)
sep = " "
wf.write("водка" if word[0] == letter[0] else word)
wf.write("\n")
rf.close()
wf.close()
Перед началом работы создаём файл input.txt со словами.
Например, такой (Россия глазами иностранца):
 мир Ленин СССР
разрядка Никсон кокошник Брежнев колбаса медведи
Горбачёв перестройка хозрасчёт ускорение джинсы обналичка кооператив
матрёшка водка Пушкин балалайка
В начале работы программы вводим букву, на которую должны начинаться заменяемые слова. Потом смотрим файл output.txt: в нём будут те же слова, что в input.txt, кроме начинавшихся на введённую букву: те будут заменены на слово "водка".
Примеры:
 Введите начальную букву: к 
Файл output.txt:
 мир Ленин СССР
разрядка Никсон водка Брежнев водка медведи
Горбачёв перестройка хозрасчёт ускорение джинсы обналичка водка
матрёшка водка Пушкин балалайка
А если буква м, то так:
 Введите начальную букву: м 
Файл output.txt:
 водка Ленин СССР
разрядка Никсон кокошник Брежнев колбаса водка
Горбачёв перестройка хозрасчёт ускорение джинсы обналичка кооператив
водка водка Пушкин балалайка
Замена чувствительна к регистру: буквы "л" и "Л" считаются разными.
SB
Sergej Berg
54 053
Лучший ответ
Геннадий Пилипенко на другие слова
 def replace_words(file_path, letter, replacement): 
with open(file_path, 'r') as f:
text = f.read()

words = text.split()
replaced_words = [word if not word.startswith(letter) else replacement for word in words]

with open(file_path, 'w') as f:
f.write(' '.join(replaced_words))