【问题标题】:syntaxError: 'continue' not properly in loopsyntaxError:“继续”在循环中不正确
【发布时间】:2012-12-28 02:00:40
【问题描述】:

我已经为这个错误苦苦挣扎了一段时间,对于解释器为什么抱怨“继续”似乎有不同的意见。所以我想在下面提供错误的代码。

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 语句的替代实现。

顺便说一句,我没有像另一篇文章中建议的那样混合制表符和空格。 提前感谢您的帮助。

【问题讨论】:

    标签: python twitter continue try-except


    【解决方案1】:

    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)
    

    【讨论】:

    • 我想当我完成后,我可以用 finally 语句跳出循环。感谢您的帮助。
    • break 用于跳出循环。它是 try 块中执行的最后一行。
    【解决方案2】:

    问题可能出在你使用continue的方式上

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 2022-08-09
      • 2011-08-19
      相关资源
      最近更新 更多