Я не думаю, что это возможно для любого обобщенного итератора.Вам нужно будет выяснить, как генератор был изначально сконструирован, а затем восстановить его для последнего прохода.
В качестве альтернативы, вы можете записать фиктивный размер в ваш файл, записать элементы и затем снова открыть файлизмените и исправьте размер в заголовке.
Если ваш файл представляет собой двоичный формат, это может работать довольно хорошо, так как количество байтов для размера одинаково, независимо от того, каков фактический размер.Если это текстовый формат, возможно, вам придется добавить некоторую дополнительную длину в файл, если вы не смогли дополнить фиктивный размер, чтобы охватить все случаи.См. этот вопрос для обсуждения вставки и перезаписи в текстовый файл с использованием Python.