第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Python 中重試一個函數(shù)

在 Python 中重試一個函數(shù)

犯罪嫌疑人X 2023-03-30 10:17:17
我很難弄清楚如何在 Python 中實現(xiàn)一個簡單的重試函數(shù),我的代碼應該在固定的時間內(nèi)嘗試將消息發(fā)送到電報,如果在總次數(shù)之后它仍然會失敗,請打印一個錯誤。相反,如果成功,則中斷并繼續(xù)。所以我有以下數(shù)組:Retries = [1, 2, 3]這意味著,如果失敗,請等待 1 秒,如果再次失敗,請等待 2 秒,然后再等待 3 秒。然后我有以下代碼:for x in Retries:    try:        updater.bot.send_message(chat_id='myid', text='TEST')    except Exception as e:        time.sleep(x)此代碼將嘗試三次并在每次嘗試之間等待 1、2、3 秒,但問題是:即使消息將被發(fā)送,它仍然會繼續(xù)嘗試,同時它需要中斷如果它會失敗三次,它應該打印一個錯誤,我不知道該怎么做我找到了這個庫,但我認為它對于這樣一個簡單的任務來說太過分了。誰能幫我解決這個問題?
查看完整描述

2 回答

?
莫回無

TA貢獻1865條經(jīng)驗 獲得超7個贊

我建議使用 pythons 神秘但有用的循環(huán)else子句for:


for x in Retries:

    try:

        updater.bot.send_message(chat_id='myid', text='TEST')

    except Exception as e:

        time.sleep(x)

    else:

        break

else:

    # raise the real error here

如果函數(shù)調(diào)用成功,您的代碼將break退出循環(huán)并且不會觸發(fā)該else子句。else僅當循環(huán)在沒有 . 的情況下完成時才會觸發(fā)該子句break。


查看完整回答
反對 回復 2023-03-30
?
紅顏莎娜

TA貢獻1842條經(jīng)驗 獲得超13個贊

像這樣發(fā)送消息后,在 try 塊中使用中斷 -


for x in Retries:

    try:

        print('Hi there')

        break #Add a break here

    except Exception as e:

        time.sleep(x)

Hi there


查看完整回答
反對 回復 2023-03-30
  • 2 回答
  • 0 關(guān)注
  • 217 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號