【发布时间】:2021-10-13 09:50:29
【问题描述】:
我确定我遗漏了一些非常基本的东西...我有一个调用睡眠函数的 python 脚本。我希望主线程(在这种情况下)休眠 1 小时(3600 秒)。
以下是相关代码转载:
import time
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)
print("Sleep", flush=True)
time.sleep(3600)
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)
print("Done sleeping", flush=True)
2小时后的输出是:
Current Time = 08:45:45
Sleep
但我的代码从不退出睡眠功能以打印完成时间或“完成睡眠”消息。
(我在 print 语句中添加了 flush 参数以消除潜在的缓冲,但我认为这与此处无关)。
关于为什么我的代码在 1 小时后没有退出睡眠功能有什么想法吗?
谢谢。
【问题讨论】:
-
是的,只要我做几秒钟就可以了。
-
我目前正在通过 Visual Code 测试代码,
-
好的,因为我试了 10 秒就没事了。
-
也许你的终端超时了?
-
一般情况下-您要避免长时间睡眠,您的软件条件可能会在睡眠期间发生变化,而较短的睡眠时间您可以检查这些是否发生了变化