捋一捋少有人知的 Python "重试机制"
点击上方“ Python爬虫与数据挖掘 ”,进行关注 回复“ 书籍 ”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 弃我去者,昨日之日不可留。 周末愉快,欢迎小伙伴积极学习,文末有 《 Python数据分析 》5本书籍的送书活动 ,记得参与噢~ 为了避免由于一些网络或等其他不可控因素,而引起的功能性问题。 比如在发送请求时,会因为网络不稳定,往往会有请求超时的问题。 这种情况下,我们通常会在代码中加入重试的代码。重试的代码本身不难实现,但如何写得优雅、易用,是我们要考虑的问题。 这里要给大家介绍的是一个第三方库 - Tenacity (标题中的重试机制并并不准确,它不是 Python 的内置模块,因此并不能称之为机制),它实现了几乎我们可以使用到的所有重试场景,比如: 在什么情况下才进行重试? 重试几次呢? 重试多久后结束? 每次重试的间隔多长呢? 重试失败后的回调? 在使用它之前 ,先要安装它 $ pip install tenacity 1. 最基本的重试 无条件重试,重试之间无间隔 from tenacity import retry @retry def test_retry () : print( "等待重试,重试无间隔执行..." ) raise Exception test_retry() 无条件重试,但是在重试之前要等待 2 秒 from