Форум сайта python.su
Допустим наш код что-то делает с генерируемой последовательностью чисел. Процесс это довольно долгий и нам периодически надо выключать компьютер. Но запустив заново, продолжить генерацию с того числа, где остановилась. Конечно можно создавать файл с цифрой и в итоге ее подгружать. Но на более сложных последовательностях это невозможно. Как можно сохранить состояние генератора? Модуль pickle дает только сохранение всей итерации, а это бесконечно большой файл.
Если есть какое-то решение, кроме переписывания кода с нуля?
Офлайн
gematologВообще без переписывания кода? Нажать волшебную кнопку?
Если есть какое-то решение, кроме переписывания кода с нуля?
gematologЭто непонятно. А как оно в память влезло если он бесконечный? Непонятно что вы делаете. Приведите код.
Модуль pickle дает только сохранение всей итерации, а это бесконечно большой файл.
Отредактировано doza_and (Июль 1, 2017 08:32:01)
Офлайн
gematolog что за генератор генерирует последовательность? у вас его код/алгоритм?
[code python][/code]
Офлайн
class MyGen: def __init__(self, state=None): if state is None: self.state = 0 else: self.state = state def __next__(self): self.state += 1 return self.state g = MyGen(state=1002) print(next(g)) print(next(g))
Отредактировано scidam (Июль 3, 2017 09:35:46)
Офлайн