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
のイベント ループ ライブラリをすでに使用している場合は、代わりに既存のイベント ループ ライブラリのメソッドを使用してタスクをスケジュールします。tkinter
PyQt5
gobject
kivy