2017-05-07 46 views
0

對,我很新,我一直在尋找答案,但我似乎無法找到一個適合我的人。每隔x秒重複執行一個函數而無需額外模塊的方法?

This question與我的幾乎相同,但我需要執行一個函數...讓我們說1.2秒,而不中斷或阻止整個while循環。

我不會用的模塊(除了時間)的原因是因爲唯一可用的人對我有:建宏數學matplotlib.pyplotnumpy的操作處理pygal隨機重新時間烏龜urllib.request

有沒有這樣的方式?

+1

爲什麼你沒有整個標準庫? –

+0

在線程中使用while循環 – gaborous

+0

我很想說'不',除非你錯過了*線程*(或具有類似功能的東西)。 –

回答

1

如果你有龜可用,那麼你有tkinter可作爲turtle.TK。然後您可以每1.2秒使用root.after(1200, function. args)執行function(*args)。在SO搜索[tkinter] root.after將會給出很多問題並附帶有用的例子。然而,一旦你這樣做了,你必須讓事件驅動所有事件,並且事件處理程序不應該花太長的時間來阻塞事件循環。

編輯:烏龜包裝tkinter.after作爲turtle.ontimer(function, milleseconds)。該函數不能帶參數。如果這是某種「家庭作業」問題,這可能是預期的解決方案。有一個例子here

+0

謝謝,這將幫助我一噸。 – MrWhiteee

0

使用模塊時間。你的名單上有它。

import time 
def function(): 
print(1) 
while True: 
time.sleep(1.2) 
function() 
+0

睡眠模塊while循環 –