Задача такая., есть обычный текстовый файл в кодировке UTF-8 примерно такого содержания:
…
class=1D
Par1=100
Par2=200
<RULES>
address_list=10.55.0.1 10.55.0.2
</RULES>
Par3=300
<RULES>
address_list=10.55.0.3 10.55.0.4
</RULES>
Par4=400
Мне нужно получить текст между тегами <RULES></RULES>
Делаю так:
def textintag(self,source,tag1,tag2): re1 = re.compile(tag1+"(.*?)"+tag2, re.IGNORECASE) result = re1.findall(source) return result
В основном теле программы вызываю:
f=open(conf_file,"r",-1,"utf-8") lines=f.read() f.close() rules=textintag(lines,tag1,tag2)
То есть считал в переменную lines весь текст, там действительно хранится весь текст и передал в качестве источника в функцию textintag
Естественно, не работает, причем, если передам текст в виде переменной - работает. Например передам так:
source="aaa<RULES>111</RULES>bbb<RULES>222</RULES>"
Что я делаю не так, почему не разбирается файл?