我正在使用google shortener api的批量网址缩短程序。由于它可以创建多少链接,因此在某些时候会产生错误。
如果检测到错误,它应该再次返回到for循环内的所有内容,直到它再次起作用。问题是,当它检测到ERROR时,它只是向前运行,这会导致跳过应该缩短的链接。我用评论标记了期望的结果。
只有if 名称 ==' 主':部分代码很重要,但我提供了完整的代码,以便为其提供背景信息
Thread.interrupt()
答案 0 :(得分:0)
这是一个黑客斜线解决方案。如果你必须这样做,我建议重新考虑你的架构
for line in f:
errorcode = 1
while errorcode != 0:
# Go back to here
longUrl = line
outputS = shurl(longUrl)
shorturl = outputS[0]
errorcode = outputS[1]
if errorcode == 0:
print(shorturl)
outfile.write(shorturl + "\n")
else:
print("ERROR, trying again.")
# Go back
答案 1 :(得分:0)
for循环总是向前发展,所以在你的情况下使用while循环更好
例如:
with infile as f:
while f:
# Go back to here
longUrl = f[0]
outputS = shurl(longUrl)
shorturl = outputS[0]
errorcode = outputS[1]
if errorcode == 0:
print(shorturl)
outfile.write(shorturl + "\n")
f.pop(0)
else:
print("ERROR, trying again.")
# Go back
outfile.close()