我們寫**的時候,經常會用到重試,如果出錯了,或者出現了其他的問題,就重試一次或者n次,自己寫實現起來比較複雜,用retrying模組就可以很容易的解決了。1 pip install retrying #安裝
下面是幾個重試的例子,直接看**
importrequests
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 但是這種寫法很麻煩,能實現的效果也很單一。這...