如果不满足条件,则重复For循环

时间:2018-04-16 17:34:36

标签: python api

我正在使用google shortener api的批量网址缩短程序。由于它可以创建多少链接,因此在某些时候会产生错误。

如果检测到错误,它应该再次返回到for循环内的所有内容,直到它再次起作用。问题是,当它检测到ERROR时,它只是向前运行,这会导致跳过应该缩短的链接。我用评论标记了期望的结果。

只有if 名称 ==' ':部分代码很重要,但我提供了完整的代码,以便为其提供背景信息

Thread.interrupt()

2 个答案:

答案 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)

python中的

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()