10
最大回数まで何かを試すためのPythonの方法はありますか?[複製]
この質問にはすでにここに答えがあります: Python:すべてが失敗するまで関数を3回試してください (3つの回答) 4か月前に閉鎖されました。 共有Linuxホスト上のMySQLサーバーにクエリを実行するPythonスクリプトがあります。何らかの理由で、MySQLへのクエリはしばしば「サーバーがなくなった」エラーを返します。 _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away') 直後にクエリを再試行すると、通常は成功します。だから、私はPythonでクエリを実行しようとする賢明な方法があるかどうかを知りたいのですが、失敗した場合は、固定回数まで再試行します。たぶん、完全に諦める前に5回試してみたいと思います。 これが私が持っている種類のコードです: conn = MySQLdb.connect(host, user, password, database) cursor = conn.cursor() try: cursor.execute(query) rows = cursor.fetchall() for row in rows: # do something with the data except MySQLdb.Error, e: print "MySQL Error %d: %s" % (e.args[0], e.args[1]) 明らかに、except節で別の試みをすることでそれを行うことができましたが、それは信じられないほど醜いものであり、これを達成するための適切な方法があるに違いないと感じています。