2015-09-20 44 views
0

我似乎無法得到的功能使用所看到在這個線程的線程模塊在特定的時間間隔後自稱Run certain code every n secondsthreading.Timer不能打電話不能把它自己的功能在Python 3

時我運行該代碼的副本:

import threading 

def printit(): 
    threading.Timer(5.0, printit).start() 
    print("Hello, World!") 

printit() 

它將打印「Hello,World!」一次(原來的調用函數),然後無限制地運行而不打印任何新東西。

我知道模塊安裝正確,因爲當我運行這個

import threading 
def printit(): 
    print ("Hello, World!") 

threading.Timer(5.0, printit).start() 

它會在打印前等待5秒鐘「你好,世界!」就像它應該的那樣。 我認爲問題出在Python 3上,因爲鏈接的Stack Overflow線程以及我看過的其他一些線程將使用python 2,當我在另一臺機器上使用python 2試用它時。任何有關爲什麼這可能會發生或如何解決它的見解將不勝感激。

回答

1

在Windows 10上的Python 3.4.3 x64上運行該代碼,用print()代替Martelli的原始打印文件,給出了預期的行爲。我希望我能幫助你,但這似乎不可重現。