一個計算額後,恢復:設置腳本暫停和更新下面的時間
我有有我做了計算,以設置我的劇本基於幾個因素,睡覺的時間的函數的腳本,這意味着腳本可能不需要再運行半個小時或可能需要幾天。
現在,我認爲time.sleep(秒)會將程序設置爲睡眠狀態,然後將其喚醒並再次運行。
time.sleep(3600)
runScriptAgain()
顯然,這並沒有做什麼,我認爲它做到了。當然,大多數事情似乎從未像我想的那樣做,學習的樂趣!
無論如何,一旦我發現腳本從未恢復,我四處尋找其他方法來做到這一點。有人提到了os.exec
,但是從我的(非常有限的)知識看來,它似乎是用來從腳本內部運行其他內容的。然後我嘗試了threading.Timer
函數,但似乎沒有做我想要的。或者我不知道我在做什麼,這更可能。然後我看到有人提到線程和守護進程以及我根本不知道的東西。
我在想也許是一個for循環,但這似乎非常業餘(鍋會見水壺!),我不知道如何甚至可以工作(如果有的話)。
timeToSleep = SleepValue()
count = 0
while count < timeToSleep:
count + 1
time.sleep(1)
runscript()
那麼,有沒有一種簡單的方法來設置一個腳本來停止運行的時間具體數額,再次運行,然後睡覺,直到下一次?我認爲必須有一個非常簡單的方法來做到這一點,但我真的沒有線索。我在使用Python 3.2.3的Windows 7上工作,而且我現在只學習了幾個月的python,所以任何複雜的工作都可能超出我的技能水平。
更新時間:
def something():
print('Hello!')
def sleep():
time.sleep(5)
runscript()
def runscript():
something()
sleep()
runscript()
好吧,這是我的代碼是如何設定目前。我用這個簡單的代碼試了一下,看起來問題是它永遠不會醒來?我不確定發生了什麼事。我認爲它會調用第一個功能,打印該項目,然後休眠5秒鐘,然後重複廣告。也許有人可以解釋我應該怎麼做。
謝謝!
爲什麼不使用Windows的任何週期性調度程序來運行腳本,在這一點上它看到它是否有任何事情要做? – 2012-07-17 03:13:29
哈,對不起,名稱錯了Ignacio。我會更新我的問題,因爲我認爲問題在於我正在使用time.sleep函數做錯了我現在使用它的方式。 – 2012-07-17 04:36:59