Я хотел был бы сохранить состояние itertools.product() после того как моя программа завершает работу. Можно ли это сделать с травлением? То, что я планирую сделать, это создать перестановки, и если процесс будет прерван (KeyboardInterrupt), я могу возобновить процесс при следующем запуске программы.Можно ли рассортировать itertools.product в python?
def trywith(itr):
try:
for word in itr:
time.sleep(1)
print("".join(word))
except KeyboardInterrupt:
f=open("/root/pickle.dat","wb")
pickle.dump((itr),f)
f.close()
if os.path.exists("/root/pickle.dat"):
f=open("/root/pickle.dat","rb")
itr=pickle.load(f)
trywith(itr)
else:
try:
itr=itertools.product('abcd',repeat=3)
for word in itr:
time.sleep(1)
print("".join(word))
except KeyboardInterrupt:
f=open("/root/pickle.dat","wb")
pickle.dump((itr),f)
f.close()
Посмотрите http://stackoverflow.com/q/9864809/3001761 – jonrsharpe
Nice, но я искал более простое объяснение того, как это сделать, поскольку я все еще изучаю python. – repzero
Короткий ответ - нет, вы не можете просто рассолить его; я не думаю, что нет гораздо более простого решения. – jonrsharpe