python有很多特殊的第三方库和模块 , 它们能够用来实现一些平常代码难以去做到的事情 。而retrying模包能够在python内实现函数重试机制 , 下文对此会有详细讲解 , 感兴趣的话就和小编往下阅读这篇文章学习一下全新的知识吧 。
【Python中retrying包有什么用?Python该如何去使用retrying模块】
文章插图
1.retrying模块的功能和异常捕获有点类似 , 不过它是在函数运行失败之后不断地重复去执行它 , 而不是将错误给捕获然后跳过该函数的执行 。通过一个装饰器方法retry就可以实现重试机制 , 示例如下:
from retrying import retry@retrydef do_something_unreliable(): if 0 > 1: raise IOError("raise exception!") else: return "good job!"print(do_something_unreliable())2.除了最基础的装饰器之外 , 还能够给它来传入不同的参数实现不同的效果 。例如参数stop_max_delay这个参数就能够限制使用了该限制的函数能够重复执行多长的时间 , 单位为秒 , 示例如下:
@retry(stop_max_delay=5000)和它相似的参数还有wait_fixed , 它的单位也是秒 。不过该参数的作用为将每次重复执行的时间都设为固定值 , 那么在一毫秒内就执行完毕 , 也需要等待设定的时间过去之后才可以继续下一次的重试 , 示例如下:
@retry(wait_fixed=2000)3.而这些参数之中使用最为频繁的其实应该是stop_max_attempt_number了 , 因为在很多情况下这个函数执行失败只是因为参数传递错误而导致的 , 那么也就没必要成败上千次的去重复执行它 。刚好此参数能够控制函数重试次数 , 示例如下:
@retry(stop_max_attempt_number=5)那么最后两个参数是需要一起介绍的 , 因为它们的作用为控制重试时间的范围 , 示例如下:
@retry(wait_random_min=1000,wait_random_max=2000)以上就是关于“Python中retrying包有什么用?Python该如何去使用retrying模块”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- Python画正态分布曲线怎么做?Python正态分布函数代码
- Python字符串操作符有哪些?Python中哪些运算符字符串可以用
- Python怎么用jmespath模块处理json数据?Python中jmespath模块能做什么
- 循环语句中continue语句的作用是什么?Python循环语句中continue的使用方法
- Python怎么运行py文件?.py文件在cmd命令行中的运行方法
- Python中if语句的使用格式是什么?Python中if语句的基本格式
- Python怎么修改文件内容?Python修改文件内容的3种方法详解
- Python语言中语句块用什么表示?Python中语句块的表示方法
- Python如何导入自己编写的py文件?Python导入自己编写的文件方法
- 男人到中年为什么容易出轨 越老实的男人中年越容易出轨