Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 22, 2010 22:47:22

Persio
От:
Зарегистрирован: 2010-04-22
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Рабочий код (для конструктивной критики)

Это листинг программы, которая сделала то, чего от нее ожидалась: вырезала из файла нужные блоки. Мне как новичку интересен взгляд со стороны: чего исправить, на что обратить внимание, какие еще есть варианты. Конструктивная критика и пожелания приветствуются. Да, это 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



Офлайн

#2 Апрель 22, 2010 23:11:05

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

Рабочий код (для конструктивной критики)

                text = a_line
m = pattern.findall(text)
print(m)
text = ""
зачем 2 раза переопределять текст?
print(pattern.findall(a_line))
text = “”



Офлайн

#3 Апрель 23, 2010 06:32:03

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Рабочий код (для конструктивной критики)

для вырезания кусков текста можно использовать re.sub

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version