Форум сайта python.su
0
Помогите пожалуйста. Есть файл который содержит строки типу:
line1
line2
<begin>
line4
line5
<end>
Как мне вивести содержимое между <brgin> i <end>?
Офлайн
52
[14:54] home:~ echo "line1 > line2 > <begin> > line4 > line5 > <end>" > file [14:54] home:~ bpython >>> lines = map(lambda s: s.strip(), open('file', 'r').readlines()) >>> print '\n'.join(lines[lines.index('<begin>')+1:lines.index('<end>')]) line4 line5
>>> with open('file', 'r') as f: ... while f.next().strip() != '<begin>': ... pass ... for line in f: ... if line.strip() == '<end>': ... break ... else: ... print line.strip() ... line4 line5
Отредактировано fata1ex (Май 14, 2012 14:07:36)
Офлайн
0
Спасибо работает, то что надо. Один нюанс - если строка начинается из отступов их почему то удаляет.
Офлайн
52
Замените в последнем варианте print line.strip() на print line.rstrip().
Отредактировано fata1ex (Май 14, 2012 14:38:12)
Офлайн
0
все ок, спасибо
Офлайн