Quiero ejecutar una función en cada 3 segundos, el código funciona si llamo a una función sin argumentos como los siguientes:
def mytempfunc(): print "this is timer!" threading.Timer(5, mytempfunc).start()
pero si llamo a una función con un argumento como este:
def myotherfunc(a,b,c,d): print "this is timer!" threading.Timer(5, myotherfunc(a,b,c,d)).start()
El nuevo hilo se creará y comenzará inmediatamente sin esperar 5 segundos. ¿hay algo que me perdí?
Prueba esto:
threading.Timer(5, myotherfunc, [a,b,c,d]).start()
En su código, realmente llama a myotherfunc (a, b, c, d), en lugar de pasar su función y argumentos a la clase Timer .