我正在对 GSM 网络执行 Ussd 命令。有时命令会因为未知的细节而失败。
我想做以下事情:
如果向 GSM 网络发出的命令失败,我将等待 4 秒,如果再次失败,我将再等待 6 秒。如果再次失败,我将退出并返回类似“未知 GSM 运营商错误”的信息
我的问题是如何在 Python 中使用 try/except 处理这个循环:
这是没有 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"
此致,