python - 請問如何在遍歷列表的時候加入時間或者速度的控制?
問題描述
def dateRange(start, end, step=1, format='%Y-%m-%d'): strptime, strftime = datetime.datetime.strptime, datetime.datetime.strftime days = (strptime(end, format) - strptime(start, format)).days return [strftime(strptime(start, format) + datetime.timedelta(i), format) for i in xrange(0, days, step)]
ef weekend(): try:dayday = dateRange(st, ed)for day in dayday: d =day.replace(’-’,’’) date = d server_url = 'http://www.easybots.cn/api/holiday.php?d=' vop_url_request = urllib2.Request(server_url + date) vop_response = urllib2.urlopen(vop_url_request) vop_data = json.loads(vop_response.read()) if vop_data[date] == ’1’ or vop_data[date] == ’2’:dayday.remove(day)return dayday except:dayday = dateRange(st, ed)return dayday
有這樣一個weekend函數,去請求一些內容,但是每次執行出來會缺失一些內容懷疑是網速的問題,該怎么限制遍歷時的頻率或者幾秒內訪問一次呢?
問題解答
回答1:在每次遍歷后, 加個睡眠時間咯
time.sleep(1) # 睡眠1秒
也就是在你的代碼可以調整為:
for day in dayday: ...(訪問處理代碼) time.sleep(1) 回答2:
找到問題了,在遍歷的時候對原列表進行remove操作會使列表長度發生變化,從而導致列表錯位導致,最后出來的結果不是想要的結果
相關文章:
1. php - MySQL數據庫設計,獲取點贊的人數2. python3.x - python連oanda的模擬交易api獲取json問題第二問3. javascript - h5微信中怎么禁止橫屏4. mysql - 這種分級一對多,且分級不平衡的模型該怎么設計表?5. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?6. python - 怎么把char*對象轉換成PyObject*對象7. MYSQL 根據兩個字段值查詢 但兩個值的位置可能是互換的,這個怎么查?8. mysql - linux連接數據庫報錯9. java - 線上應用,如果數據庫操作失敗的話應該如何處理?10. MySQL中的enum類型有什么優點?
