我创建了一个变量
current_time = datetime.datetime.now()
我在 while 循环的迭代中每秒增加时间。
while True:
current_time = current_time + datetime.timedelta(seconds=1)
current_time 是一个全局变量。我在我的模块中使用它作为时间。我想根据这段时间休眠一些功能。 但是如果我使用
time.sleep()
这将使用系统时间。 那么如何创建一个依赖于我的 current_time 的 sleep 函数?
编辑:- 我正在实现一个算法,存储一个值,我们称之为调度时间。我想等待功能达到调度时间并按时执行该功能。有一些函数会更新调度时间。所以这是一个重复的过程。我寻找调度程序库但没有找到任何可以使用的东西,current_time 作为时间。
我不想直接使用系统时间,对我来说current_time是系统/程序的时间。所以 current_time 会随着 while 循环的速度增加。我只是在运行 while 循环,与时间没有任何关系,只是想更快地更新我的时间,因为我正在使用代码在数小时内生成数月的数据。我想让我的代码尽可能保持原始状态。我想根据这个算法生成数据,并将我的人工时间替换为实际系统时间以供生产使用。
最佳答案
如果你想在到达 current_time
之前 sleep ,你可以这样做:
while datetime.datetime.now() <= current_time:
time.sleep(1)
假设我正确理解您的 current_time
大于 datetime.datetime.now()
的实际当前时间。
关于python - 如何为我控制的 DateTime 编写 sleep 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57187496/