Как сделать этот скрипт цикла, пока нет ошибок Python? - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь сделать этот цикл скрипта, пока не будет ошибок, но я довольно плохо знаком с Python и просто продолжаю сталкиваться с ошибками

Я перепробовал все, что знаю, но это не простая задача для меня

  def change_screen_name(self):
       print("Attempting change...")
       try:
           status = self.api.update_profile(screen_name="name")
           print("Name updated!")
       except tweepy.TweepError as error:
           resp = error.response.json()["errors"][0]
           print("Name unavailable.")
           print("{} ({})".format(resp["message"], resp["code"]))
       finally:
           return self

Ожидаемый результат - продолжить попытки замены имени до тех пор, пока не возникнет ошибок, но в настоящее время он пытается только один раз, затем останавливается

1 Ответ

1 голос
/ 19 июня 2019
def change_screen_name(self):
    while True:
        print("Attempting change...")
        try:
            status = self.api.update_profile(screen_name="name")
            print("Name updated!")
            return self
        except tweepy.TweepError as error:
            resp = error.response.json()["errors"][0]
            print("Name unavailable.")
            print("{} ({})".format(resp["message"], resp["code"]))

1) Работает бесконечный цикл

2) Разорвите бесконечный цикл, как только ваша попытка будет успешной.

3) Наконец-то запускается после попытки / кроме. Если у вас есть оператор finally, он всегда будет выполняться.

...