x 秒ごとに関数を繰り返し実行するにはどうすればよいですか? 質問する

x 秒ごとに関数を繰り返し実行するにはどうすればよいですか? 質問する

Pythonで関数を60秒ごとに繰り返し実行したい(NSタイマー(Objective C では python_timeout、JS では setTimeout)。このコードはデーモンとして実行され、cron を使用して 1 分ごとに python スクリプトを呼び出すのと実質的に同じですが、ユーザーが設定する必要はありません。

Pythonで実装されたcronに関する質問解決策は、実質的に寝る()x秒間。このような高度な機能は必要ないので、おそらくこのようなものが機能するでしょう

while True:
    # Code executed here
    time.sleep(60)

このコードには予見可能な問題はありますか?

ベストアンサー1

プログラムにイベントループがまだない場合は、スケジュール汎用イベント スケジューラを実装するモジュール。

import sched, time

def do_something(scheduler): 
    # schedule the next call first
    scheduler.enter(60, 1, do_something, (scheduler,))
    print("Doing stuff...")
    # then do your stuff

my_scheduler = sched.scheduler(time.time, time.sleep)
my_scheduler.enter(60, 1, do_something, (my_scheduler,))
my_scheduler.run()

asyncio、、、、、、などtrioのイベント ループ ライブラリをすでに使用している場合は、代わりに既存のイベント ループ ライブラリのメソッドを使用してタスクをスケジュールします。tkinterPyQt5gobjectkivy

おすすめ記事