2012-03-27 25 views
1

のすべてのx個が、私はこのスレッドに出くわしたが、それは非常に私はそれを必要とするものを行いません。これは実際には「作品機能を実行私は解決策を探していたときsecodsパイソン

What is the best way to repeatedly execute a function every x seconds in Python?

"(または少なくとも最初の解決策はありますが)スクリプトの残りの部分とともに同時に実行することはできません。

基本的に、私はこのような機能を実行する必要があります。

def functionName(): 
     print "text" 

私は、たとえば、100ミリ秒ごとに実行するために、これを必要とします。ループを同時にループさせている間、この必要があります:

while True: 
     for event in pygame.event.get(): 
      if event.type == QUIT: 
       pygame.quit() 
       sys.exit() 

どうすればいいですか?

ありがとうございます!

+0

[スレッド](http://docs.python.org/library/threading.html)を見ましたか? – bereal

+0

[Pythonでx秒ごとに関数を繰り返し実行する最良の方法は何ですか?](http://stackoverflow.com/questions/474528/what-is-the-best-way-to-repeatedly-execute -a-function-x-seconds-in-python) – bernie

答えて

3

が、この作品ではないはずです。それはすべてのwait()関数の後に印刷されるようにhttp://www.pygame.org/docs/ref/time.html#pygame.time.set_timer

pygame.init() 
pygame.time.set_timer(USEREVENT + 1, 100) 
while True: 
    for event in pygame.event.get(): 
     if event.type == USEREVENT + 1: 
      functionName() 
     if event.type == QUIT: 
      pygame.quite() 
      sys.exit() 
+0

おそらくサンプルを共有しますか? – danihp

+0

@danihp:ドキュメントのコメントからコピーしたサンプルを追加しました。 –

+0

ええ、私は以前それを見て、それが動作しないと思った。それは実際には行います。このフォーラムはうまくいきます... – maxhud

0

は、これは、スレッドを作り、wait()機能を使用して行うことができます:)あなたは、スレッドのヘルプが必要な場合は、見てください。ヘルプのための公式のドキュメントや見た目に/オーバーフローに関する別の質問をしてください。乾杯:

0

おそらくあなたはシグナルハンドラとして機能し、signal.setitimerを使用することができます。あなたがUnix上にいるなら、それは...そして、スレッドやものがあります。

関連する問題