在Python中每n秒后运行某段代码,初始延迟x秒

3 投票
3 回答
5408 浏览
提问于 2025-04-30 21:40

有没有办法让程序在经过x秒后,每n秒打印一次“Hello World!”呢?我看了这个链接:每n秒运行特定代码,我知道怎么每n秒运行一次代码。但我想要的是在x秒后,每n秒运行一次特定的代码。

我需要一些指导来实现这个功能。

关键条件是:程序不能卡顿或者暂停。我提到的特定代码是一个函数调用。

暂无标签

3 个回答

0

答:是的,这两种方法都可以

对于某个特定的任务,可以尝试使用Tkinter自带的调度功能,这个功能不会让程序停下来。

主要的方法有:

 .after( n_msec_from_now, aScheduledFuncCALL )  # to plan a call not before n_msec-s
 .after_idle(             aScheduledFuncCALL )  # to plan a call after GUI gets <idle>

还有更多聪明的选项可以选择

import Tkinter as tk

def RunCertainCodeCALL():
    #a CertainCode
    root.after( x * 1000, RunCertainCodeCALL )  # .SET for next round of schedulling

root = tk.Tk()
root.after( x * 1000, RunCertainCodeCALL )      # .SET for 1-st round of schedulling
root.mainloop()                                 # .GUI mainloop()
2

你可以这样做,比如让它在5秒后开始运行,然后每10秒运行一次:

import time

time.sleep(5)

while True:
    your code
    time.sleep(10)
3

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能在使用一个叫做“库”的东西时,发现它的某些功能没有按照预期工作。这种情况下,通常需要检查一下代码,看看是不是哪里出错了。

有时候,问题可能出在我们使用的版本上。就像手机软件更新一样,新的版本可能会修复一些旧的问题,或者引入新的功能。所以,确保你使用的是最新的版本是很重要的。

此外,查看文档也是个好主意。文档就像是使用说明书,里面会告诉你如何正确使用这个工具,避免一些常见的错误。

如果你还是解决不了问题,可以考虑在网上寻求帮助,比如在一些技术论坛或者社区发帖,描述你的问题,看看有没有人遇到过类似的情况。

总之,遇到问题时不要慌,先检查代码、确认版本、查看文档,必要时再寻求帮助,这样通常能找到解决办法。

import threading
import time

def printit():
  threading.Timer(n, printit).start()
  print "Hello, World!"

threading.Timer(x, printit)

撰写回答