Sie können eine Countdown-Funktion tun:
import sys
import time
def countdown(t, step=1, msg='sleeping'): # in seconds
pad_str = ' ' * len('%d' % step)
for i in range(t, 0, -step):
print '%s for the next %d seconds %s\r' % (msg, i, pad_str),
sys.stdout.flush()
time.sleep(step)
print 'Done %s for %d seconds! %s' % (msg, t, pad_str)
Der Wagenrücklauf \r
und das Komma ,
den Druck in der gleichen Linie halten (Vermeidung eine Zeile für jeden Countdown-Wert)
Wenn die Anzahl der Sekunden abnimmt, stellt pad_str sicher, dass die letzte Zeile mit Leerzeichen überschrieben wird, anstatt die letzten Zeichen zurückzulassen, wenn der Ausgang kürzer wird.
Der letzte Druck überschreibt die letzte Statusmeldung mit einer Fertigmeldung und inkrementiert die Ausgabezeile, so dass die Verzögerung angezeigt wird.
Vielen Dank für die wunderbaren Antworten. – user1681664
verwandt: [Countdown mit Tkinter, oder Gtk oder Twisted oder Asyncio Event-Schleifen] (http://StackOverflow.com/A/14040516/4279) – jfs