在Python中每n秒后运行某段代码,初始延迟x秒
有没有办法让程序在经过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)