Если строка, которую вы ищете будет в HTML буквально, то простая замена строка будет хорошо:
old_html = open(html_file).read()
new_html = old_html.replace(my_string, "")
if new_html != old_html:
open(html_file, "w").write(new_html)
В качестве примера строки, не являющейся буквально в HTML, предположим, что вы ищете «Тест», как вы сказали. Вы хотите, чтобы соответствовать эти фрагменты HTML ?:
<a href='test.html'>Test</a>
<A HREF='test.html'>Test</A>
<a href="test.html" class="external">Test</a>
<a href="test.html">Test</a>
и так далее: «тот же» HTML могут быть выражены по-разному. Если вы знаете точные символы, используемые в HTML, то простая замена строк прекрасна. Если вам нужно сопоставить на семантическом уровне HTML, вам нужно будет использовать более сложные инструменты, такие как BeautifulSoup, но тогда у вас также будет потенциально очень отличный HTML-вывод, чем вы начали, даже в разделах, не затронутых удалением , потому что весь файл будет проанализирован и восстановлен.
Чтобы выполнить код по многим файлам, вы найдете os.path.walk
, полезный для поиска файлов в дереве, или glob.glob
для сопоставления имен файлов с шаблонами шаблонов оболочки.
Я бы подумал, что 'sed' или что-то еще уже реализованное будет проще. – Amber