最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年04月21日 09:58:18   作者:隨便起個名字啊  
下面小編就為大家分享一篇python 限制函數(shù)調(diào)用次數(shù)的實(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ù)的實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

青神县| 哈巴河县| 龙川县| 邯郸县| 象州县| 天柱县| 上蔡县| 根河市| 濮阳县| 昆明市| 无为县| 华宁县| 建昌县| 清丰县| 县级市| 德州市| 宜川县| 平湖市| 仁怀市| 曲沃县| 大洼县| 资溪县| 班戈县| 马边| 正蓝旗| 定兴县| 台前县| 郸城县| 清镇市| 中西区| 牟定县| 库尔勒市| 西乡县| 元谋县| 城口县| 郁南县| 石阡县| 新乡县| 林甸县| 融水| 镇安县|