python 限制函数调用次数


本文摘自php中文网,作者不言,侵删。

下面为大家分享一篇python 限制函数调用次数的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

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

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

#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()

阅读剩余部分

相关阅读 >>

Python如何输出换行

搭建 Python +pycharm+django将sqlite3 迁移到mysql

Python如何实现rsa加密的示例代码分享

Python实现requests发送/上传多个文件的示例

Python爬虫可以自学吗

Python 的自省是什么?

Python怎么安装第三方库?

Python打开怎么运行

如何在循环中获取索引(数组下标)

Python中eval的用法是什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...