新聞中心
python中如何限制輸入次數(shù)
python 限制函數(shù)調(diào)用次數(shù)的實(shí)例講解
創(chuàng)新互聯(lián)長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為順平企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),順平網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
發(fā)布時間: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 腳本在指定的時間內(nèi)運(yùn)行?
最簡單的:
寫一個python腳本
加一個死循環(huán),判斷時間。
如果到了指定的時間,就運(yùn)行一次,然后在進(jìn)入死循環(huán)。
當(dāng)然不是要你真搞個死循環(huán)占用CPU,你可以用sleep函數(shù)。不占用CPU。
每次sleep 10s。。
加個啟動項,每次開機(jī)啟動這個腳本就行了。
限python限制其他軟件使用時長
限python限制其他軟件使用時長:運(yùn)行一個需要1秒才能完成的函數(shù),超時設(shè)置為2秒:No timeout
如果我們運(yùn)行time.sleep(10)并將超時設(shè)置為兩秒:finished = call_timeout(2, time.sleep, args=(10, ))
結(jié)果:Timeout
如何讓python程序每個一段時間執(zhí)行一次
python定時程序(每隔一段時間執(zhí)行指定函數(shù))
[python] view plain copy
import os
import time
def print_ts(message):
print "[%s] %s"%(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), message)
def run(interval, command):
print_ts("-"*100)
print_ts("Command %s"%command)
print_ts("Starting every %s seconds."%interval)
print_ts("-"*100)
while True:
try:
# sleep for the remaining seconds of interval
time_remaining = interval-time.time()%interval
print_ts("Sleeping until %s (%s seconds)..."%((time.ctime(time.time()+time_remaining)), time_remaining))
time.sleep(time_remaining)
print_ts("Starting command.")
# execute the command
status = os.system(command)
print_ts("-"*100)
print_ts("Command status = %s."%status)
except Exception, e:
print e
if __name__=="__main__":
interval = 5
command = r"ls"
run(interval, command)
文章名稱:包含python限制函數(shù)時間的詞條
本文URL:http://www.dlmjj.cn/article/dodsoeh.html