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
Es gibt eine solche Wochenendfunktion zum Anfordern einiger Inhalte, aber bei jeder Ausführung fehlen einige Inhalte. Es wird vermutet, dass es sich um ein Problem mit der Netzwerkgeschwindigkeit handelt. So begrenzen Sie die Häufigkeit der Durchquerung oder des Zugriffs alle paar Sekunden ?
在每次遍历后, 加个睡眠时间咯
也就是在你的代码可以调整为:
找到问题了,在遍历的时候对原列表进行remove操作会使列表长度发生变化,从而导致列表错位导致,最后出来的结果不是想要的结果