Pythonではスレッドを使ってタイマーを作成/設定できますが、thread.start()が呼び出されるまで関数を実行できませんか?私は永遠のタイマーそうのような設定をしました:関数を実行しないでPythonタイマーを作成する
class perpetualTimer():
enabled = False
Interval = 0
def __init__(self,t,hFunction):
print("init")
self.t=t
self.Interval = t
self.hFunction = hFunction
self.thread = Timer(self.t,self.handle_function)
def handle_function(self):
print("handle")
print(self.hFunction.__name__)
self.hFunction()
self.thread = Timer(self.t,self.handle_function)
self.thread.start()
def start(self):
print("start")
self.thread = Timer(self.Interval,self.handle_function)
self.thread.start()
def stop(self):
print("stop")
self.thread.cancel()
def foo():
print("foo")
し、それを作成します。
tmr = perpetualTimer(5,foo())
し、プログラムを実行することにより、私は、「初期化」に続いて、「foo」というのプリントアウトを取得しますあなたは上のperpetualTimerを呼ぶ」と言う
tmr = perpetualTimer(5,foo())
を書くとき...私は望んでいないものを....私はちょうどそれが「初期化」
する必要がありますはい、私はすぐに質問を投稿した後ことを実現しました。ルーキーのエラー... – chadianscot