0

私は、GSM ネットワークに対して Ussd コマンドを実行しています。詳細が不明なため、コマンドが失敗することがあります。

私は次のことをしたいと思います:

GSM ネットワークに発行されたコマンドが失敗した場合は 4 秒待ち、再度失敗した場合はさらに 6 秒待ちます。再び失敗した場合、終了して「unknown GSM Operator Error」のようなものを返します

ここでの私の質問は、try/except を使用して Python でこのループを処理する方法です。

これは、try/except を使用しないコードです。

def getGsmCode()
    code = somecommand('xyz')
    return code[0]

これを実装しようとしましたが、醜いです。これはそれを行うための最良の方法ですか?

def getGsmCode()
    try:
        code = somecommand('xyz')
        return code[0]
    except:
        pass
        # I will try againg after wait 4 seconds
        time.sleep(4)
        try:
            code = somecommand('xyz')
            return code[0]
        except:
            pass
            # I will try again after wait 6 seconds
            time.sleep(6)
            try:
                code = somecommand('xyz')
                return code[0]
            except:
                pass
                return "unknown GSM Operator Error"

よろしくお願いします、

4

1 に答える 1