本文完整示例代碼及檔案已上傳至我的<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>指令時的持續阻塞問題。
本期分享結束,咱們下回見~👋