在x秒后运行某些代码,在python中每n秒运行一次

时间:2014-10-31 15:52:26

标签: python multithreading

有没有办法,例如,打印Hello World! x秒后每n秒?看着这个: Run certain code every n seconds,我知道如何每隔n秒运行一次代码。但是我希望每隔n秒在x秒后运行一些代码。

需要一些指导如何执行此操作。

关键条件:程序不应滞后或睡眠。我所指的某些代码是一个函数调用。

3 个答案:

答案 0 :(得分:2)

你可以做一些事情(在5秒后运行它,并且它每10秒运行一次):

import time

time.sleep(5)

while True:
    your code
    time.sleep(10)

答案 1 :(得分:1)

import threading
import time

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

threading.Timer(x, printit)

答案 2 :(得分: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()