Просто используйте выражение генератора (genexp) вместо понимания списка (listcomp), которое вы сейчас используете - т.е.
sList = (line for line in theString.split(os.linesep))
вот и все - если вы в остальном довольны своим кодом (разделение по os.linesep, даже если обычный текстовый ввод / вывод в Python уже переведет их в \n
...), все, что вам нужно сделать это использовать скобки (круглые) вместо скобок (квадратные), и вы получите генератор вместо списка.
Теперь, каждый раз, когда вы делаете for line in sList:
, он снова начинается с того места, где остановился предыдущий (предположительно из-за break
) - это то, что вы просите, верно?