2014-10-27 27 views
6

, wie die Ausgabe in die gleiche Zeile durch überschreiben zuvor empfangene Timing (Countdown) von NTP-Server. Wie unten gezeigt, wird nach jedem zweiten Timing in der nächsten Zeile empfangen.Ausgabe auf die gleiche Zeile überschreiben vorherigen

13:35:01 

13:35:00 

13:34:59 

13:34:58 

13:34:57 

13:34:56 

Ich möchte Timing sollte in der gleichen Zeile empfangen werden, die vorherige zu löschen.

Antwort

14

Sie können use the "return"-character \r to return to the beginning of the line. In Python 2.x müssen Sie sys.stdout.write und sys.stdout.flush anstelle von print verwenden.

import time, sys 
while True: 
    sys.stdout.write("\r" + time.ctime()) 
    sys.stdout.flush() 
    time.sleep(1) 

In Python 3.3 können Sie die print Funktion, mit end und flush Parameter verwenden:

print(time.ctime(), end="\r", flush=True) 

Beachten Sie jedoch, dass auf diese Weise nur die letzte Zeile auf dem Bildschirm ersetzen kann. Wenn Sie eine Live-Uhr in einer komplexeren Konsole nur für die Benutzeroberfläche haben möchten, sollten Sie curses auschecken.

import time, curses 
scr = curses.initscr() 
scr.addstr(0, 0, "Current Time:") 
scr.addstr(2, 0, "Hello World!") 
while True: 
    scr.addstr(0, 20, time.ctime()) 
    scr.refresh() 
    time.sleep(1) 
+0

Perfekte Lösung, danke! –

0

Ich verwende Python 2,7

python --version 
Python 2.7.12 :: Anaconda 4.1.1 (64-bit) 

und ich bin mit diesem der folgenden Funktion als Haken des Download-Fortschritt angezeigt werden, durch die Verwendung urllib.urlretrieve

def hook(bcount , bsize, tsize): 
    str = "[ %3d%% of %10d] \r" % (bcount * bsize * 100/tsize , tsize)  
    print str, 

urllib.urlretrieve (url, file_name, hook) 

Erläuterung: Setzen Sie den Cursor an den Anfang der Zeile, und vermeiden Sie das Komma, um in einer neuen Zeile zu drucken. Wenn Sie für jeden Ausdruck die gleiche Anzahl an Zeichen haben, wird der Trick

Wenn Sie neugierig sind auf urllib und den Haken, den ich benutze, finden Sie das Dokument https://docs.python.org/2/library/urllib.html

Verwandte Themen