Есть ли способ изменить итератор цикла for?

Я читаю строку файла на строку в цикле for и делаю цикл while, модифицируя цикл для итератора, как показано ниже:

for line in archive:
    ...
    if re.search("{",line):
        while not re.search("}",line):
          ...
          line = next_line
    ...

Мне нравится оставаться в цикле while, пока условие остановки не зависит от чтения архива.

Всего 1 ответ


Вы можете создать итератор из вашей итерации явно:

archive_iter = iter(archive)

Тогда он останется между петлями.

for line in archive_iter:
    if '{' in line:
        while '}' not in line:
            line = next(archive_iter)

Есть идеи?

10000