Heim > Artikel > Backend-Entwicklung > Python begrenzt die Anzahl der Funktionsaufrufe
Das Folgende ist ein Beispiel dafür, wie die Anzahl der Funktionsaufrufe in Python begrenzt werden kann. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist. Werfen wir gemeinsam einen Blick darauf
Der folgende Code begrenzt die Anzahl der Aufrufe einer bestimmten Funktion in einem bestimmten Zeitraum,
Inspirationsquelle: Python Decorator – Methode zur Begrenzung der Anzahl der Funktionen Anrufe (alle 10 Sekunden einmal anrufen) Willkommen bei Besuch
Der ursprüngliche Blog gibt Caching an, ich habe es hier geändert, um die Anzahl der Besuche zu begrenzen, es ist das Gleiche
#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()
Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonPython begrenzt die Anzahl der Funktionsaufrufe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!