如何在Python的for i in range循环中每100次迭代后设置长暂停?
解决方案
你可以通过模运算判断是否完成100次迭代,在满足条件时执行更长时间的暂停。假设你每次迭代的10秒暂停逻辑已实现,补充长暂停的完整代码如下:
import time total_urls = 1000 # 替换为你的实际URL总数 short_pause = 10 long_pause = 60 # 自定义长暂停时长,可按需调整 with open(r'url\url.txt', encoding='utf8') as f: for i in range(total_urls): # 这里写入你每次迭代的业务逻辑,比如读取URL、处理请求等 url = f.readline().strip() if not url: break # 避免文件提前读完后继续空迭代 # 每次迭代后的10秒常规暂停 time.sleep(short_pause) # 判断是否完成整100次迭代(因i从0开始,用i+1匹配实际完成次数) if (i + 1) % 100 == 0: print(f"已完成{i+1}次迭代,执行长暂停...") time.sleep(long_pause)
关键说明:
- 用
(i + 1) % 100 == 0精准匹配每100次迭代的节点,避免因索引从0开始导致的判断偏差。 - 长暂停时长可根据实际需求修改,比如调整为300秒(5分钟)。
- 保留原有的每次迭代10秒暂停逻辑,仅在每100次迭代后额外触发长暂停。
内容的提问来源于stack exchange,提问作者Nero
相关产品推荐
相关产品推荐

