【发布时间】:2015-12-22 17:08:16
【问题描述】:
代码如下:
import itertools
# import list from file
a = [line.strip() for line in open("real.txt", 'r')]
b = [line.strip() for line in open("imag.txt", 'r')]
# create file contain restore informations
f = open("restore.txt","w+")
loop = 0
try:
for r in itertools.product(a,b):
loop +=1
print "processing : "+ r[1] + ": "+ r[0] + " ("+str(loop)+")"
except Exception, e:
print str(e)
f.write("iterazions seccession: " +str(loop)+"\n")
f.write("real number : " +r[1]+"\n")
f.write("imaginary unit: " + r[0]+ "\n")
示例输出
processing: 1 : 1i (1)
processing: 1 : 2i (2)
processing: 1 : 3i (3)
processing: 1 : 4i (4)
...
processing: 2000 : 174i (348000)
processing: 2000 : 175i (348001)
...and so forth
(it does all combinations of two lists)
问题是如果错误停止迭代,有没有办法从上一次迭代重新启动脚本而不从头开始? 我尝试将最后一个值保存在文件中,但我不知道如何使用它。
附言我知道复数的 cmath 函数,但我更感兴趣的是恢复问题
更具体
如果出现错误,则在以下位置停止迭代: 处理:2000:175i (348001) 有没有办法从 2000 : 175i (348001) 迭代重新启动脚本?
【问题讨论】:
-
我不太明白你的问题是什么。请举一个错误会停止的例子。
-
任何可能停止迭代的错误。