Как использовать методы Python для замены подстрок (или удаления части строки) в открываемом вручную файле .txt.
Пользователь уже открыл текстовый файл, и сценарий python должен заменить подстроку в этом файле пробелом (или удалить его, что проще).
Текстовый файл строки выглядит следующим образом (он был частью веб-сайта и может иметь несколько строк, но для простоты я поставил только первую строку):
<tr><td>Subtitle</td><td><div class="Current temperature"><!-- here -- <!-- here2 --><div class="London"></div></div><div class="here3"></div><div class="Current temperature"><!-- here4 <!-- /react-text --><div class="Paris"></div></div></td></tr>
Окончательный результат должен быть в две строки:
London
Paris
Я уже искал много тем здесь, многие из них предполагают ввод пользователем строки, которая должна быть заменена, и еще один ввод для новой строки.
Этот небольшой скрипт не относится к этому типу, он должен уже содержать подстроку, которую нужно заменить (без ввода пользователя), так что это части:
1. <tr><td>Subtitle</td><td><div class="Current temperature"><!-- here -- <!-- here2 --><div class="
2. "></div></div><div class="here3"></div><div class="Current temperature"><!-- here4 <!-- /react-text --><div class="
3. "></div></div></td></tr>
и он должен делать это автоматически при запуске.
У меня также есть проблемы с кавычками и HTML-тегами, поэтому я часто получаю синтаксические ошибки.
В других темах на эту тему я нашел это и попробовал этот код:
file = open("C:/Users/blue11440/Desktop/example-text-file.txt", "r")
str = file.readlines()
x = str.replace("<tr><td>Subtitle</td><td><div class="Current temperature">
<!-- here -- <!-- here2 --><div class="", "")
Среди других ошибок я получаю это:
AttributeError: 'list' object has no attribute 'replace'
AttributeError: '_io.TextIOWrapper' object has no attribute 'replace'
Я пробовал replace, delete, remove
методов с небольшим успехом, есть ли лучший способ?