Исходя из того, что вы написали, ваш код делает именно это. Поскольку цикл for является последней частью цикла while, разрыв его приведет прямо к следующей итерации цикла while.
Если у вас do есть больше кода в цикле while, который вы пропустили, то перемещение его в предложение else цикла for приведет к его выполнению, только если цикл for не прерывается:
for i in someit:
...
else:
print 'for loop did not break'
Только один стилистический вопрос. Вместо того чтобы вести свой счетчик, используйте:
for i, line in enumerate(read_record):