我一直在努力解决这个错误一段时间,对于为什么口译员抱怨'继续'似乎有不同的意见。所以我想在下面提供错误的代码。
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我没有按照另一篇文章的建议混合标签和空格。 感谢您的帮助。
答案 0 :(得分:19)
continue
仅允许在for
或while
循环中使用。您可以轻松地重构函数以循环,直到有效请求。
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继续下一个最近的循环 封闭循环。