Надеюсь, что я правильно трактовал Ваш алгоритм и схему.
Код будет выполнять следующие шаги:
- Открываем файл
file2.txt
и читаем из него слово, которое нужно
заменить в файле file1.txt
;
- Открываем файл
file1.txt
и читаем из него всю строку. Заменяем в ней
найденное слово на новое слово, которое введет пользователь;
- Записываем измененную строку в файл
file1.txt
;
- Записываем новое слово в файл
file2.txt
.
Решение:
# Открываем файл file2.txt и читаем из него слово для замены
with open('file2.txt', 'r', encoding='utf-8') as f:
old_word = f.read().strip()
# Ввод слова
new_word = input("Введите новое слово для замены: ")
# Открываем файл file1.txt и заменяем старое слово на новое
with open('file1.txt', 'r', encoding='utf-8') as f:
line = f.read()
new_line = line.replace(old_word, new_word)
# Записываем новую строку в файл file1.txt
with open('file1.txt', 'w', encoding='utf-8') as f:
f.write(new_line)
# Записываем новое слово в файл file2.txt для последующей замены
with open('file2.txt', 'w', encoding='utf-8') as f:
f.write(new_word)
Наполнение file1.txt
:
Семь раз в неделю old_word ждет меня в степи. old_word я любил Вас
.
Наполнение file2.txt
:
old_word
.
В данном конкретном примере inputbox
происходит через терминал, но Вы можете использовать new_word = inputbox
.
Хочу обратить Ваше внимание, что в этом примере файлы имею кодировку utf-8
, у Вас оно может быть другим, что потребует изменения файлов.
Так же это не выглядит, как самое оптимальное решение. Возможно в дальнейшем Вам придется развить код, таким образом, чтобы выполнялся поиск старого слова в тексте, которое ищет пользователь.