Sorunum, python konsolunda önceki yazdırılan satırın üzerine yazabilmek/yazabilmek istiyorum. Önceki konsol satırının üzerine yazma/temizleme
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
I (çıktısını almak: Bu soru ancak çok aynı kodla, birçok kez (
Python - Remove and Replace Printed items örneğin) istendi (bana hiç bir şey yazdırır için cevap olarak doğru işaretli) 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
Herhangi bir fikir? Çok fazla googledim, hiçbir şey gerçekten işe yaramıyor. Ya hiçbir şeyi basar ya da sadece üzerine yazmaz.
Bu yardımcı oluyorsa, Windows 8.1 ve Python 3.51 çalıştırıyorum. Kod çukurunu çalıştırmak cmd hiçbir şeyi etkilemez.
Ayrıca, sys.stdout.flush()
eklenmesi yardımcı olmaz.
kontrol ettiniz: http://stackoverflow.com/questions/27575929/ansi-escape-sequences-arent-printed-to-stdout-on-windows – Zorgmorduk
Diziler '\ 033 [F gibi terminal tarafından desteklenmelidir (se e termcap (3) '). AFAIK pencereleri her zaman terminal yetenekleri için çok zayıf bir destek aldı –