PythonのthreadingモジュールのTimerオブジェクトを使用してみます。
threadingモジュールを使用すると、同時に複数のタスクを実行できます。さらに、threadingモジュールでTimerクラスが定義されており、このクラスを使用すると、特定の時間間隔の後に特定の処理、アクションを実行することができます。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■Timerクラスを使用し特定の時間間隔の後に特定の処理を実行する
では、早速、threadingモジュールで定義されているTimerクラスを使用し、使用し特定の時間間隔の後に特定の処理を実行するスクリプトを書いていきます。
■コード
from threading import Timer def hello(): print('こんにちは') time = Timer(10,hello) time.start()
from importで、threadingモジュールのTimerクラスを呼び出します。その後、今回はdef文を用いて、hello()という関数を定義します。この関数が呼び出され、実行される処理は、print()関数で文字列を出力させるものです。
関数を定義後、timeという変数を定義し、Timer()を用います。Timer()の括弧内には、第1の引数,パラメータとして、特定の時間間隔を渡します。今回は「10」とし10秒後とします。第2の引数,パラメータは、時間間隔の後に、実行する関数であるhelloを渡します。
最後に、timeというスレッドを開始させるために、start()を用います。これでスレッドが開始されます。
■実行・検証
このスクリプトを「time_test.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、Timer()を用いて、指定した時間間隔の後に、定義したhello()関数が実行され、終了させることができました。
コメント