0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Python中关于retrying库的使用

麦辣鸡腿堡 ? 来源:Python都知道 ? 作者:了不起 ? 2023-11-14 11:01 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

编程的时候,我们难免会遇到一些不可靠的情况,比如网络请求失败,数据库连接超时等等。这些不确定性会让我们的程序容易出现各种错误和异常。那么如何来增加程序的容错性和健壮性呢?

可能大多数人会想到使用try except来进行异常捕捉进行失败重试(Retry)。虽然try-escept一个非常常见和有效的方式来增强程序稳定性,但是可能一不小心就会造成栈溢出。

所以接下来我就来介绍一个另外的一个专门用于失败重试的库:retrying

定义

Python生态中,retrying库提供了非常便捷的装饰器和函数来帮助我们轻松添加失败重试机制。它可以自定义重试策略、停止条件、等待间隔等,对各种异常进行捕捉处理。使用retrying可以大大减少我们重复编写失败重试轮询的代码量。

下载retrying

pip install retrying

无参数重试

我们可以直接在函数上使用装饰器@retry来进行失败重试

import retrying
@retry
def func():
    for item in range(0,100):
        result=item / 0
        print(result)
        return result

func()

但是这种方式并不建议使用,就像上面的代码,我们都知道0作为除数就会报错,在上面的func函数中,因为加了@retry装饰器进行失败重试,这样就就会进入一个死循环一直失败一直重试。

所以我们在进行失败重试的时候最好是需要加上一些参数来限制失败重试。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3692

    浏览量

    95535
  • 数据库
    +关注

    关注

    7

    文章

    3948

    浏览量

    66807
  • python
    +关注

    关注

    56

    文章

    4832

    浏览量

    87777
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【建议收藏】Python大全

    。;concurrent-futures一concurrent-futures模块为调用异步执行提供了一个高层次的接口。异步网络编程asyncio- (Python 3.4 +版本以上的P
    发表于 09-06 15:58

    自定义Python PyPI存储

    软件包的依赖关系,而不考虑版本弃用或最新的向后不兼容版本。当然,这可以通过requirements.txt定义版本来完成,但是要确保我们得到的每个软件包都像我们期望的那样,最好使用自定义存储
    发表于 09-14 15:59

    关于Python编程入门系列教程》说明及教程汇总

    成为了我们了解人工智能的首选编程软件。二、关于教程本教程以纯软件的编程为主,并不涉及任何的硬件部分。程序编写部分以Mind+软件的“Python 模式”为开发工具(自带基于Python
    发表于 06-23 10:10

    ADM1266 Python

    ADM1266 Python
    发表于 03-23 15:47 ?1次下载
    ADM1266 <b class='flag-5'>Python</b><b class='flag-5'>库</b>

    详解Python的Pandas和Numpy

    pandas、numpy是Python数据科学中非常常用的,numpy是Python的数值计算扩展,专门用来处理矩阵,它的运算效率比列表更高效。
    的头像 发表于 05-25 12:49 ?3368次阅读

    关于python中非常实用的一个图像处理 1

    PIL:Python Imaging Library,是Python环境下最受欢迎的图像处理,木有之一。然而,Python2.7之后不再
    的头像 发表于 02-08 17:18 ?1651次阅读

    关于python中非常实用的一个图像处理 2

    PIL:Python Imaging Library,是Python环境下最受欢迎的图像处理,木有之一。然而,Python2.7之后不再
    的头像 发表于 02-08 17:18 ?1441次阅读

    如何安装常用Python

    Python作为一种流行的编程语言,拥有丰富的第三方资源,这些可以帮助开发者轻松实现各种功能,从数据分析到Web开发,从机器学习到图像处理,涵盖了各个领域。
    的头像 发表于 04-14 12:11 ?1586次阅读

    Pythontelnetlib模块的基本使用

    telnetlib 是 Python 标准的一个模块,它提供了 Telnet 协议的客户端功能。使用 telnetlib 模块,我们可以 Py
    的头像 发表于 05-04 14:27 ?8915次阅读

    TSMaster小功能—Python小程序如何导入外部

    解析器下安装外部。步骤一TSMaster工具->系统信息->python环境设置中选择打开解析器路径;步骤二该文件路径输入cmd,打
    的头像 发表于 08-14 10:06 ?1592次阅读
    TSMaster小功能—<b class='flag-5'>Python</b>小程序如何导入外部<b class='flag-5'>库</b>

    python有什么用 如何用python创建数据

    开发、游戏开发、机器学习、自然语言处理等领域。 本文中,我们将介绍如何使用Python创建数据。首先,让我们了解一下什么是数据。 什么是数据
    的头像 发表于 08-28 16:41 ?1559次阅读

    python读取数据数据 python查询数据 python数据连接

    ,获取数据的数据,并对数据进行增删改查等操作。本文将详细介绍Python如何连接数据、读取数据数据以及如何进行查询操作。 一、
    的头像 发表于 08-28 17:09 ?2288次阅读

    Pythonoloredlogs的使用

    coloredlogs介绍 coloredlogs是一个Python,它允许开发人员控制台打印彩色日志。这个的主要优点是它可以很容易地改变日志消息的颜色,从而使日志更易于阅读和理
    的头像 发表于 10-07 11:28 ?1228次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>库</b><b class='flag-5'>中</b>oloredlogs的使用

    Pythonretrying的有参数重试

    有参数重试 (1) stop_max_attempt_number retry传入stop_max_attempt_number参数后可以指定失败重试的次数 @retry
    的头像 发表于 11-14 11:08 ?1208次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>中</b><b class='flag-5'>retrying</b><b class='flag-5'>库</b>的有参数重试

    python如何引入math

    Python,要使用math,首先需要先引入它。mathPython的一个标准
    的头像 发表于 11-22 11:03 ?5325次阅读