Как ЗАМЕНИТЬ текст в txt, который при этом извлекается из txt, используя .replace()
file1.txt , file2.txt, inputbox
Конкретно:
Код, который заменяет слово в file1.txt(которое берёт из file2.txt), при этом в file1.txt все написано в одну строку. Заменяет на другое слово, которое берёт из inputbox и вписывает новое слово в file2.txt для последующей замены
Либо подскажите пожалуйста, как изменить определенные данные в txt, если всё написано в одну строку
Ответы (1 шт):
Надеюсь, что я правильно трактовал Ваш алгоритм и схему. Код будет выполнять следующие шаги:
- Открываем файл
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, у Вас оно может быть другим, что потребует изменения файлов.
Так же это не выглядит, как самое оптимальное решение. Возможно в дальнейшем Вам придется развить код, таким образом, чтобы выполнялся поиск старого слова в тексте, которое ищет пользователь.
