Как мне записать вывод в том же месте на консоли?

140
задан Community 23 May 2017 в 12:10
поделиться

4 ответа

Можно также использовать возврат каретки:

sys.stdout.write("Download progress: %d%%   \r" % (progress) )
sys.stdout.flush()
232
ответ дан UdayaLakmal 23 May 2017 в 12:10
поделиться

Python 2

мне нравится следующее:

print 'Downloading File FooFile.txt [%d%%]\r'%i,

Демонстрация:

import time

for i in range(100):
    time.sleep(0.1)
    print 'Downloading File FooFile.txt [%d%%]\r'%i,

Демонстрация Python 3

print('Downloading File FooFile.txt [%d%%]\r'%i, end="")

:

import time

for i in range(100):
    time.sleep(0.1)
    print('Downloading File FooFile.txt [%d%%]\r'%i, end="")
24
ответ дан Hugo 23 May 2017 в 12:10
поделиться
  • 1
    strp[0] = 'W'; вызывает неопределенное поведение, потому что оно пытается изменить постоянную строку. – davmac 27 September 2011 в 15:14

Пользуйтесь обрабатывающей терминал библиотекой как модуль проклятий :

модуль проклятий предоставляет интерфейс библиотеке проклятий, фактическому стандарту для портативной усовершенствованной терминальной обработки.

25
ответ дан gimel 23 May 2017 в 12:10
поделиться

Распечатайте символ возврата \b несколько раз и затем перезапишите старое число с новым числом.

15
ответ дан Zach Scrivena 23 May 2017 в 12:10
поделиться
Другие вопросы по тегам:

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