1. ホーム
  2. スクリプト・コラム
  3. パイソン

[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない

2022-01-11 10:47:51

質問

コードは次のとおりです。

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

実行すると、エラーが発生します。

syntaxError: 'continue' not properly in loop

スリープ後にプログラムを先頭から再開させたいので、continueを使い、スリープによるtwitter apiのリクエスト率を制限する必要があります。

どのように解決するのですか?

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)