Форум сайта python.su
Это листинг программы, которая сделала то, чего от нее ожидалась: вырезала из файла нужные блоки. Мне как новичку интересен взгляд со стороны: чего исправить, на что обратить внимание, какие еще есть варианты. Конструктивная критика и пожелания приветствуются. Да, это Python 3.1.
import re
pattern = re.compile('<p id=resultStats>*<h2 class=hd>', re.DOTALL|re.MULTILINE)
line_number = 0
text = “”
cont = False
with open('goog.txt', encoding='utf-8') as a_file:
for a_line in a_file:
line_number += 1
if “<p id=resultStats>” in a_line: # если есть НАЧАЛО БЛОКА в текущей строке
if “<h2 class=hd>” in a_line: # если есть КОНЕЦ БЛОКА в текущей строке
text = a_line
m = pattern.findall(text)
print(m)
text = “”
cont = False
else: # если в текущей строке не оказалось КОНЦА БЛОКА
text += a_line
cont = True
else: # если в текущей строке не оказалось НАЧАЛА БЛОКА
if cont == True: # если поиск продолжается
if “<h2 class=hd>” in a_line:
text += a_line
m = pattern.findall(text)
print(m)
text = “”
cont = False
else:
text += a_line
cont = True
Офлайн
text = a_line
m = pattern.findall(text)
print(m)
text = ""
Офлайн
для вырезания кусков текста можно использовать re.sub
Офлайн