python 限制函数调用次数的实例讲解


Posted in Python onApril 21, 2018

如下代码,限制某个函数在某个时间段的调用次数,

灵感来源:python装饰器-限制函数调用次数的方法(10s调用一次) 欢迎访问

原博客中指定的是缓存,我这里换成限制访问次数,异曲同工

#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('调用次数: %s' % cache[key][0])
  print('限制次数: %s' % limit_times[0])
  if cache[key][0] <= limit_times[0]:
   res=func(*args,**kwargs)
   cache[key][1] = time.time()
   return res
  else:
   print("超过调用次数了")
   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 限制函数调用次数的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈Python程序与C++程序的联合使用
Apr 07 Python
python中多个装饰器的执行顺序详解
Oct 08 Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 Python
Python中collections模块的基本使用教程
Dec 07 Python
python绘制雪景图
Dec 16 Python
Django多进程滚动日志问题解决方案
Dec 17 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
pytorch 实现在预训练模型的 input上增减通道
Jan 06 Python
Python类如何定义私有变量
Feb 03 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
python爬取音频下载的示例代码
Oct 19 Python
怎么用Python识别手势数字
Jun 07 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 #Python
对Python中的@classmethod用法详解
Apr 21 #Python
python3+dlib实现人脸识别和情绪分析
Apr 21 #Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 #Python
使用Python和xlwt向Excel文件中写入中文的实例
Apr 21 #Python
使用pandas读取csv文件的指定列方法
Apr 21 #Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 #Python
You might like
PHP及Zend Engine的线程安全模型分析
2011/11/10 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
javascript学习之闭包分析
2010/12/02 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
python的urllib模块显示下载进度示例
2014/01/17 Python
Python中生成Epoch的方法
2017/04/26 Python
Python深度优先算法生成迷宫
2018/01/22 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
python实现多张图片拼接成大图
2019/01/15 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
python银行系统实现源码
2019/10/25 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
室内设计自我鉴定
2013/10/15 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
羊脂球读书笔记
2015/06/30 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python