You need to enable JavaScript to run this app. 含time.sleep的for循环中每10秒打印一次消息的实现方法
优惠活动
大模型
产品
解决方案
定价
更多

含time.sleep的for循环中每10秒打印一次消息的实现方法

实现方案

有两种常见实现方案,分别适配不同的业务场景:

场景1:单次休眠时长固定为10秒

如果你的业务逻辑本身每次休眠就是10秒,直接在循环内按顺序执行即可,代码如下:

import time

for count in range(100):
    time.sleep(10)
    print(f"第{count + 1}次间隔10秒触发的消息,已完成{count + 1}次休眠")
print("累计100次休眠操作全部完成")

场景2:原有业务休眠时长不固定,不可修改原有休眠逻辑

如果你的for循环内原有time.sleep的时长不是10秒,且不能调整原有休眠逻辑,可以用独立的守护线程处理定时打印任务:

import time
import threading

sleep_total = 0
run_flag = True

# 定时打印后台线程
def interval_print():
    while run_flag:
        time.sleep(10)
        if run_flag:
            print(f"当前已完成{sleep_total}次休眠")

# 启动后台打印线程
threading.Thread(target=interval_print, daemon=True).start()

# 原有业务for循环,累计执行100次休眠
for _ in range(100):
    # 此处替换为你原有业务的休眠/逻辑代码,示例用固定3秒模拟业务休眠
    time.sleep(3)
    sleep_total += 1

# 停止后台打印线程
run_flag = False
print("100次休眠操作全部执行完成")

方案说明

  • 守护线程不会阻塞主业务逻辑的正常运行,程序结束时会自动销毁
  • 全局计数器sleep_total每次完成一次休眠就累加,保证打印的进度是实时准确的
  • run_flag标记用来在主业务循环结束后终止打印线程,避免资源浪费

内容的提问来源于stack exchange,提问作者user15354331

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 09:24:03