python

しょっちゅう忘れることを書いておく。

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/

ツイッター

@darkimpact0626