**__~~**
ここに言語を入力
Python3
コード ```### 前提・実現したいこと キー入力によるタイマースレッドの終了をさせたいです ここに質問の内容を詳しく書いてください。 python3を独学にて現在勉強しています。 クラスの勉強もかねて、タイマースレッドを使用し特定のキー(ESCキー)が押された場合に終了するプログラムを作成していたのですが、どこにどのように入れれば良いのか上手く動きません。(main.pyの中でtest.pyの実行中にESCキーが押されたら終わるような流れにしたいと思っています。) getchを使用してキーの判断をするところまでは分かったのですが、行き詰ってしまいました。 ご教授お願い致します。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ
エラーメッセージ
### 該当のソースコード ```ここに言語名を入力 ソースコード ****************************** (test.py) class Test(): def __init__(self): self.no = 0 def main_proc(self): print("hello") if __name__ == "__main__": pass **************************************************** (main.py) import timer import test def start(): print("Start") return test.Test() if __name__ == "__main__": tt = start() T1 = timer.Timer(3, tt.main_proc) T1.start() **************************************************** (timer.py) import threading import time class Timer(): def __init__(self, time, onTimer, params = None, count = -1): self.time = time self.onTimer = onTimer self.params = params self.count = count self.counter = 0 self.init() def init(self): self.state = "initializing" def pause(self): self.state = "paused" def run(self): if (self.state != "terminated"): self.state = "running" else: del self.thread self.init() self.start() def terminate(self): self.state = "terminated" def start(self): if (self.state == "initializing"): self.run() self.thread = threading.Thread(target = self.do, args = ()) self.thread.start() def do(self): while (self.state == "running"): time.sleep(self.time) if (self.state == "running"): if (self.params != None): self.onTimer(self.params) else: self.onTimer() self.counter += 1 if (self.count > 0 and self.counter >= self.count): self.counter = 0 self.state = "exit" self.terminate() if __name__ == "__main__": pass
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。