本文完整示例代码及文件已上传至我的<code>Github</code>仓库https://github.com/CNFeffery/PythonPracticalSkills
这是我的系列文章「Python实用秘技」的第2期,本系列立足于笔者日常工作中使用<code>Python</code>辅助办公的心得体会,每一期为大家带来一个3分钟即可学会的简单小技巧。
作为系列第2期,我们即将学习的是:<code>为Python函数添加执行超时检查功能</code>。
某些常用的库如<code>requests</code>的<code>get()</code>函数,具有特定的参数<code>timeout</code>,设置后可以在其运行超过一定时间还没运行完成时抛出超时错误。
而如果我们想为自定义函数也添加类似的“闹钟”超时检查功能,最简单的方式是使用第三方库<code>wrapt_timeout_decorator</code>中的<code>timeout()</code>装饰器,通过参数传递超时时长(单位:秒)即可,下面是一个简单的例子:
并且不只是函数,类中的静态方法亦可使用:
使用场景非常之多,譬如前不久笔者就用它来解决<code>fabric</code>模拟执行<code>nohup</code>命令时的持续阻塞问题。
本期分享结束,咱们下回见~👋