しょっちゅう忘れることを書いておく。
![]() |
66 |
505 views
JavaScriptのsetTimeout
のように、一定時間経過後にコールバックを実行するプログラムをPythonで実装する場合、threading
モジュールを使うことで実現できます。
以下は、1秒後に関数が呼び出されるシンプルな例です。
# coding: UTF-8
import time
import threading
def func():
print(f"started at {time.strftime('%X')}")
def main():
threading.Timer(1, func).start()
print("main end")
if __name__ == '__main__':
main()
もし、関数を定期的に実行したい場合は、関数内で再度タイマーを設定すれば可能です。以下のコードのように、8行目に再帰的なタイマーを追加しています。
# coding: UTF-8
import time
import threading
def func():
print(f"started at {time.strftime('%X')}")
threading.Timer(1, func).start()
def main():
threading.Timer(1, func).start()
print("main end")
if __name__ == '__main__':
main()
詳しくは、公式ドキュメントを参照してください:
Python threading
モジュールのドキュメント
Page 41 of 69.
すぺぺぺ
本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。
https://www.osumoi-stdio.com/novel/