Цикл for не срабатывает полностью
В soder почему то добавляется test1 и цикл прерывается, несмотря на то, что есть ещё строки с <title> в начале.
with open('file', 'r', encoding='utf-8') as file:
book = file.readlines()
soder = {}
for i in book:
if i.startswith('<title>'):
soder[book.index(i)] = book[book.index(i) + 1]
file
<title>
<p>test1</p>
</title>
<section>
<title>
<p><strong>test2</strong></p>
</title>
Ответы (1 шт):
Автор решения: Денис Степанов
→ Ссылка
Так book.index(i) будет всегда одно и тоже возвращать, первое вхождение. Тут либо использовать аргумент start, чтобы менять стартовую позицию поиска, либо просто сразу индекс брать.
with open(r'C:\Users\Deniska\Desktop\file.txt', 'r', encoding='utf-8') as file:
book = file.readlines()
soder = {}
for index, value in enumerate(book):
if value.startswith('<title>'):
soder[index] = book[index + 1]