欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 限制函數(shù)調(diào)用次數(shù)的實例講解

 更新時間:2018年04月21日 09:58:18   作者:隨便起個名字啊  
下面小編就為大家分享一篇python 限制函數(shù)調(diào)用次數(shù)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下代碼,限制某個函數(shù)在某個時間段的調(diào)用次數(shù),

靈感來源:python裝飾器-限制函數(shù)調(diào)用次數(shù)的方法(10s調(diào)用一次) 歡迎訪問

原博客中指定的是緩存,我這里換成限制訪問次數(shù),異曲同工

#newtest.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import time
def stat_called_time(func):
 cache={}
 limit_times=[10]
 def _called_time(*args,**kwargs):
  key=func.__name__
  if key in cache.keys():
   [call_times,updatetime]=cache[key]
   if time.time()-updatetime <60:
    cache[key][0]+=1
   else:
    cache[key]=[1,time.time()]
  else:
   call_times=1
   cache[key]=[call_times,time.time()]
  print('調(diào)用次數(shù): %s' % cache[key][0])
  print('限制次數(shù): %s' % limit_times[0])
  if cache[key][0] <= limit_times[0]:
   res=func(*args,**kwargs)
   cache[key][1] = time.time()
   return res
  else:
   print("超過調(diào)用次數(shù)了")
   return None
 return _called_time
@stat_called_time
def foo():
 print("I'm foo")
if __name__=='__main__':
 for i in range(10):
  foo()
#test.py
from newtest import foo
import time
for i in range(30):
 foo()
print('*'*20)
foo()
foo()
print('*'*20)
for i in range(60):
 print(i)
 time.sleep(1)
for i in range(11):
 foo()

以上這篇python 限制函數(shù)調(diào)用次數(shù)的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 中的 global 標(biāo)識對變量作用域的影響

    Python 中的 global 標(biāo)識對變量作用域的影響

    global 標(biāo)識用于在函數(shù)內(nèi)部,修改全局變量的值。這篇文章主要介紹了Python 的 global 標(biāo)識對變量作用域的影響,需要的朋友可以參考下
    2019-08-08
  • 詳解Python 使用 selenium 進行自動化測試或者協(xié)助日常工作

    詳解Python 使用 selenium 進行自動化測試或者協(xié)助日常工作

    這篇文章主要介紹了Python 使用 selenium 進行自動化測試 或者協(xié)助日常工作,我們可以使用 selenium 來幫助我們進行自動化的 Web 測試,也可以通過 selenium 操作瀏覽器做一些重復(fù)的,簡單的事情,來減輕我們的工作
    2021-09-09
  • Python實現(xiàn)按特定格式對文件進行讀寫的方法示例

    Python實現(xiàn)按特定格式對文件進行讀寫的方法示例

    這篇文章主要介紹了Python實現(xiàn)按特定格式對文件進行讀寫的方法,可實現(xiàn)文件按原有格式讀取與寫入的功能,涉及文件的讀取、遍歷、轉(zhuǎn)換、寫入等相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • Python?Melt函數(shù)將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式

    Python?Melt函數(shù)將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式

    在數(shù)據(jù)處理和清洗中,melt函數(shù)是Pandas庫中一個強大而靈活的工具,它的主要功能是將寬格式的數(shù)據(jù)表轉(zhuǎn)換為長格式,從而更方便進行分析和可視化,本文將深入探討melt函數(shù)的用法、參數(shù)解析以及實際應(yīng)用場景
    2023-12-12
  • Python?Behave框架學(xué)習(xí)

    Python?Behave框架學(xué)習(xí)

    behave是python語言的行為驅(qū)動開發(fā),全稱:Behavior-driven?development,簡稱BDD,它是一種敏捷軟件開發(fā)技術(shù),它鼓勵軟件項目中的開發(fā)人員、QA和非技術(shù)或業(yè)務(wù)參與者之間進行協(xié)作,本文給大家介紹Python?Behave框架,感興趣的朋友一起看看吧
    2022-07-07
  • matplotlib在python上繪制3D散點圖實例詳解

    matplotlib在python上繪制3D散點圖實例詳解

    這篇文章主要介紹了matplotlib在python上繪制3D散點圖實例詳解,首先介紹了官網(wǎng)的實例,然后分享了本文簡單代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • Python的NLTK模塊詳細介紹與實戰(zhàn)案例

    Python的NLTK模塊詳細介紹與實戰(zhàn)案例

    自然語言處理庫NLTK在Python中的應(yīng)用廣泛,提供了分詞、詞性標(biāo)注、句法分析等多種功能,本文介紹了NLTK的核心功能、基本概念以及通過具體實戰(zhàn)案例(如文本分詞、去除停用詞、詞干提取等)展示了其在NLP任務(wù)中的實際應(yīng)用
    2024-09-09
  • Python目錄下文件讀取方式

    Python目錄下文件讀取方式

    這篇文章主要介紹了Python目錄下文件讀取方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python 類中函數(shù)名前后加下劃線的具體使用

    python 類中函數(shù)名前后加下劃線的具體使用

    在Python編程語言中,函數(shù)名前后有下劃線是一種常見的命名約定,,被廣泛應(yīng)用于類中的函數(shù),本文將介紹下劃線命名風(fēng)格的由來、使用場景以及如何正確應(yīng)用它,感興趣的可以了解一下
    2024-01-01
  • Python中高效的json對比庫deepdiff詳解

    Python中高效的json對比庫deepdiff詳解

    deepdiff模塊常用來校驗兩個對象是否一致,包含3個常用類,DeepDiff,DeepSearch和DeepHash,其中DeepDiff最常用,可以對字典,可迭代對象,字符串等進行對比,使用遞歸地查找所有差異,今天我們就學(xué)習(xí)一下快速實現(xiàn)代碼和文件對比的庫–deepdiff
    2022-07-07

最新評論