Python的重試模組

2022-09-12 02:36:10 字數 1415 閱讀 2592

我們寫**的時候,經常會用到重試,如果出錯了,或者出現了其他的問題,就重試一次或者n次,自己寫實現起來比較複雜,用retrying模組就可以很容易的解決了。

1 pip install retrying #安裝 

下面是幾個重試的例子,直接看**

import

requests

from retrying import

retry

count =0

@retry(stop_max_attempt_number=3)#

重試次數

deftest():

#這個函式只是個例子,先判斷下count不等於1的話,就把count的值賦成1

#然後主動丟擲乙個異常,如果這個函式裡面出現異常了,他就會自動重試

#超過最大重試次數之後,如果還不成功,就會丟擲錯誤了

#會重試一次

global

count

print('

run'

)

if count !=1:

count=1

raise exception('

出錯了'

)test()

count2 =0

@retry(stop_max_attempt_number=3)#

重試次數

deftest2():

#這個例子就可以看出來,重試了3次,第三次沒有成功,就報錯了

global

count2

print('

run'

)

if count2 !=5:

count2+=1

raise exception('

出錯了')

test2()

@retry(stop_max_attempt_number=3,stop_max_delay=1000)

#stop_max_attempt_number最大重試次數, 兩次, stop_max_delay是兩次重試間隔多少毫秒,這裡我寫的間隔1秒

deftest3():

'''比如說測試某個介面的時候,如果超時或者其他問題需要重試,就可以這麼寫

如果這裡出現異常了,比如說超時,他就會自動重試if'

請稍後重試'in

r.text:

#自己判斷什麼時候重試,比如說服務端返回某個資訊,就主動丟擲乙個異常,這樣它就會自動重試

raise exception('

服務端現在有點問題')

test3()

**:牛牛雜貨鋪

python中的重試

安裝 pip install retrying retry 裝飾器會對函式不斷的重試 預設無限重試 retry def pick one print pick t random.randint 0,2 print t if t 1 raise exception 1 is not picked if...

Python的異常重試方法

專案msb服務不穩定,通過python建立websocket總是會有問題,很不穩定,但是一般來說重新建立連線就能成功,多嘗試幾次就好了。既然有了相應的需求,就要考慮如何去解決這個websocket建立異常重試的問題 原來的 只建立了一次websocket連線 ws.connect url,heade...

Python出錯重試 retrying

在編寫python 進行自動化測試 網路爬蟲或者其他與網路相關的動作的時候,由於網路影響會容易失敗,而這種失敗並不是我們需要去處理的。那麼這種時候最好的辦法就是失敗後重試幾次,以避免網路的間斷性影響。如果我們正常編寫 的話,可能需要 try except 但是這種寫法很麻煩,能實現的效果也很單一。這...