2013-03-15 35 views
0

我想實時獲取python中的時間報價器。 這裏的想法是我一次又一次地做了一組函數,但是我想給出一個10分鐘的時間間隔,然後再次執行。對於如:python實時時間報價器

rigt現在我做這個

lst = [1,2,3,4,5] 

while lst: 

    do something 
    lst.pop(0) 
    time.sleep(600) 

這將只是等待10分鐘,再次進行循環。

我想實時打印剩下的秒數來重新開始循環。 即我要打印

等待600秒
等待500秒等等。

最好的辦法就是改變數字,而不是每秒打印「等待」。

回答

0

首先,我認爲你必須在一個單獨的線程中做一個股票行情,並在其他線程中做「做某事」。要更新時鐘,可以使用Clock.tick。

+0

「必須」有點強。有沒有線程可以做到這一點。 – 2013-03-15 18:18:54

0

可以使用這樣的函數打印倒計時:

>>> def countdown(seconds): 
...  while seconds: 
...   sys.stdout.write("\rsleeping for {0}".format(seconds)) 
...   seconds -= 1 
...   time.sleep(1) 

(該\r字符是不換行回車 - 每次執行輸出文本行的時候,它會覆蓋什麼那麼你的代碼看起來更像:

while lst: 

    # do something 
    lst.pop(0) 
    countdown(600) 
+0

它的工作原理,但不是我想要的東西,謝謝雖然我嘗試過,>>> lst = [1,2] >>> while lst: ... print「hello \ n」 ...倒計時6) ... lst.pop(0)我得到打招呼 沉睡了11 你好 沉睡了12 但我要睡了6,(5,4等1) – 2013-03-15 22:12:48

+0

你更換「 - ='有'+ ='有機會嗎?它不應該數...... – bgporter 2013-03-15 23:51:07