在 python 中,如何根据真实世界的时钟而不是 CPU 时钟让程序休眠

In python, how can I make a program sleep based on the real-world clock instead of the CPU clock

TL;DR;如何在不使用 while ...: pass

的情况下根据真实世界的时钟而不是 CPU 时钟使程序休眠

在python中,我可以使用time.sleep()函数让程序休眠一段时间。但是,此函数遵循 CPU 时钟,这意味着如果我让程序休眠一个小时,而在这期间我的 PC 休眠 30 分钟,程序实际上会休眠一个半小时。

我使用 sleep 的主要目的是克服 GitHub API 的速率限制。因此,当我让程序休眠一小时时,我希望它正好休眠一小时(加上调度开销)。

一种可能的解决方案是在特定时间之前使用 while ...: pass。但是,这会使处理器一直处于忙碌状态,这是我不想要的。

有没有办法让 python 程序按照真实世界的时钟休眠?

您可以使用 pause 模块:

import pause

pause.seconds(3600)