python,从计时器回调调用主线程上的方法

Mar*_*rio 7 python python-multithreading python-2.7

我对 python 开发非常陌生,我需要每 x 秒调用一个函数。
所以我尝试使用计时器来实现这一点,例如:

def start_working_interval():
    def timer_tick():
        do_some_work() // need to be called on the main thread

        timer = threading.Timer(10.0, timer_tick)
        timer.start()

    timer = threading.Timer(10.0, timer_tick)
    timer.start()  
Run Code Online (Sandbox Code Playgroud)

do_some_work() 方法需要在主线程上调用,我认为使用计时器会导致它在不同的线程上执行。

所以我的问题是,如何在主线程上调用这个方法?

Or *_*uan 0

我现在确定您想要实现什么目标,但我使用了您的代码并执行了以下操作:

import threading
import datetime


def do_some_work():
    print datetime.datetime.now()

def start_working_interval():
    def timer_tick():
        do_some_work()  

        timer = threading.Timer(10.0, timer_tick)
        timer.start()
    timer_tick()

start_working_interval()
Run Code Online (Sandbox Code Playgroud)

所以基本上我所做的就是在timer_tick()中设置时间,这样它就会在10秒后调用自己,依此类推,但我删除了第二个计时器。