Как я могу перезаписывать/печатать по текущей строке в командной строке Windows?

На Unix я могу или использовать \r (возврат каретки) или \b (клавиша Backspace) для перезаписи текущей строки (печатают по тексту, уже видимому) в оболочке.

Я могу достигнуть того же эффекта в командной строке Windows из сценария Python?

Я попробовал модуль проклятий, но это, кажется, не доступно в Windows.

18
задан smci 29 August 2019 в 14:47
поделиться

2 ответа

да:

import sys
import time

def restart_line():
    sys.stdout.write('\r')
    sys.stdout.flush()

sys.stdout.write('some data')
sys.stdout.flush()
time.sleep(2) # wait 2 seconds...
restart_line()
sys.stdout.write('other different data')
sys.stdout.flush()
28
ответ дан 30 November 2019 в 05:59
поделиться

Простой путь, если Вы просто желаете обновить предыдущую строку:

import time
for i in range(20):
    print str(i) + '\r',
    time.sleep(1)
2
ответ дан 30 November 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: