Найти - Пользователи
Полная версия: Поиск между метками.
Начало » Python для новичков » Поиск между метками.
1
mchudyk
Помогите пожалуйста. Есть файл который содержит строки типу:
line1
line2
<begin>
line4
line5
<end>
Как мне вивести содержимое между <brgin> i <end>?
fata1ex
[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
mchudyk
Спасибо работает, то что надо. Один нюанс - если строка начинается из отступов их почему то удаляет.
fata1ex
Замените в последнем варианте print line.strip() на print line.rstrip().
mchudyk
все ок, спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB