Mein Problem ist, dass ich in der Lage sein, vorherige gedruckte Zeile in Python-Konsole zu überschreiben/löschen. Diese Frage wird oft gefragt worden (Python - Remove and Replace Printed items zum Beispiel), aber mit dem gleichen Code, die ist (die Antwort markiert als richtig, für mich gar nichts ausdruckt):Überschreiben/Löschen der vorherigen Konsole Linie
for i in range(10):
print("Loading" + "." * i)
time.sleep(1)
sys.stdout.write("\033[F") # Cursor up one line
sys.stdout.write("\033[K") # Clear to the end of line
ich den Ausgang (In Python IDLE):
Loading
[F[KLoading.
[F[KLoading..
[F[KLoading...
[F[KLoading....
[F[KLoading.....
[F[KLoading......
[F[KLoading.......
[F[KLoading........
[F[KLoading.........
[F[KLoading..........
[F[K
Irgendwelche Ideen? Ich habe viel gegoogelt, nichts funktioniert wirklich. Es druckt nichts aus oder überschreibt nicht.
Wenn das hilft, ich Windows 8.1 und Python 3.51 ausführen. Das Ausführen des Codes über cmd hat keinen Einfluss auf irgendetwas.
Auch das Hinzufügen sys.stdout.flush()
hilft nicht.
Haben Sie überprüfen: http://stackoverflow.com/questions/27575929/ansi-escape-sequences-arent-printed-to-stdout-on-windows – Zorgmorduk
Sequenzen wie '\ 033 [F 'muss vom Terminal unterstützt werden (se e 'termcap (3)'). AFAIK-Fenster hatten immer sehr schlechte Unterstützung für Terminal-Fähigkeiten –