syntaxError:'continue'在循环中不正确

时间:2013-01-14 03:08:16

标签: python twitter continue try-except

我一直在努力解决这个错误一段时间,对于为什么口译员抱怨'继续'似乎有不同的意见。所以我想在下面提供错误的代码。

import tweepy
import time
def writeHandlesToFile():
    file = open("dataFile.txt","w")
    try:
        list = tweepy.Cursor(tweepy.api.followers,screen_name='someHandle',).items(100000)
        print "cursor executed"
        for item in list:
            file.write(item.screen_name+"\n")
    except tweepy.error.TweepError as e:
        print "In the except method"
        print e
        time.sleep(3600)
        continue

我特别想在最后包括continue是因为我希望程序在睡眠后从停止的位置重新开始执行,以便保留程序状态。我需要睡眠才能遵守twitter api速率限制,其中api只允许你每小时发出一定数量的请求。 因此,任何可能看到我的错误天真或其他的人都请指出它或请在没有使用continue语句的情况下向我提供替代实现。

BTW我没有按照另一篇文章的建议混合标签和空格。 感谢您的帮助。

2 个答案:

答案 0 :(得分:19)

continue仅允许在forwhile循环中使用。您可以轻松地重构函数以循环,直到有效请求。

def writeHandlesToFile():
    while True:
        with open("dataFile.txt","w") as f:
            try:
                lst = tweepy.Cursor(tweepy.api.followers,screen_name='someHandle',).items(100000)
                print "cursor executed"
                for item in lst:
                    f.write(item.screen_name+"\n")
                break
            except tweepy.error.TweepError as e:
                print "In the except method"
                print e
                time.sleep(3600)

答案 1 :(得分:3)

问题可能在于您使用continue

的方式
  

continue可能只在语法上嵌套在for或while循环中,   但不嵌套在函数或类定义或finally语句中   在那个循环中.6.1继续下一个最近的循环   封闭循环。