重複の可能性:
PythonのスケジューラのようなCronの提案?
バックグラウンドタスクとして定期的に実行する関数をスケジュールする最もPython的な方法は何でしょうか?いくつかのアイデアがあります ここ 、しかしそれらはすべて私にはかなり醜いようです。そして不完全です。
Java Timer クラスには非常に完全なソリューションがあります。同様のpythonクラスを知っている人はいますか?
必要なことを実行できる便利なイベントスケジューラがあります。ドキュメントへのリンクは次のとおりです。
マルチプロセッシング モジュールを試してください。
from multiprocessing import Process
import time
def doWork():
while True:
print "working...."
time.sleep(10)
if __name__ == "__main__":
p = Process(target=doWork)
p.start()
while True:
time.sleep(60)
質問への直接の回答ではありません。
Linux/Unixオペレーティングシステムでは、これを行う方法はいくつかあります。通常、プログラム/スクリプトを通常どおりに記述し、それをcronまたは同様のものに追加します(OS Xの launchd など)。
質問への回答はここから始まります。
標準を使用python sched module -- 標準ライブラリのドキュメント いくつかの気の利いたソリューションについて説明しています。
PythonにはスレッドモジュールにTimerクラスがありますが、これはワンショットタイマーなので、リンクを見たときに何かを行う方がよいでしょう。 http://code.activestate.com/recipes/65222/
なぜそれが醜いと思いますか。一度作成すると、そのようなクラスの使用法はJavaの場合と同じくらい簡単になります。
gUI内で使用している場合(例:直接使用できるwx.TimerよりもwxPython