2012-10-20 19 views

回答

0

例如:

import thread, time 

def takes_a_while(): 

    def print_status(): 
     while True: 
      print i # print current i every two seconds 
      time.sleep(2) 

    status_thread = thread.start_new_thread(print_status,()) 
    for i in xrange(10000000): 
     print '*', 
     time.sleep(0.1) 
    status_thread.exit() 

takes_a_while() 

可以做更好的與裝飾或背景,但你有這個想法。

0

調查APScheduler它有一個非常簡單的cron類似接口,以特定的時間間隔運行python代碼。

http://packages.python.org/APScheduler/

我用它來安排我的一個項目任務,這是非常穩定和測試,很容易擴展,如果需要其他的方式來存儲您的工作。

嗯,這是有點矯枉過正,因爲我現在回到你的問題,但我會留下它,因爲它可能對其他人的其他類似情況有用。

1

您可以通過保持你的東西打印最後一次軌道做到這一點:

last = time.time() 
while inFile.readable(): 
    line = inFile.readLine() 
    now = time.time() 
    if now - last > 2: # seconds 
     print("time up!") 
     last = now 

如果你的文件需要兩秒鐘以上閱讀,那麼這個循環將打印time up!每兩秒鐘。

+0

是的,但我有興趣知道如何做到這一點與線程,作爲一個練習,因爲我不知道如何。 – Kache

+1

我不建議用線程來執行這個特定的任務,它只是不必要地使實現複雜化。 (你原來的問題並沒有說明你特別想要線程,這就是爲什麼這個答案存在。) –

+1

我原來的問題在標題中有「如何有線程」。我只是在身體上重複自己的重點。 – Kache

相關問題