\ r чтобы обновить вывод, не функционирующий как продемонстрировано - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь создать загрузочный текст, который чередуется между «Загрузка», «Загрузка», «Загрузка ..», «Загрузка ...» и «Загрузка ....» при обновлении предыдущей записи. , В Интернете я обнаружил похожие ситуации, в которых использовалась либо sys.stdout, либо \r конец функции печати, но мне не повезло ни с

. Код, который я использую:

import time 
tick = 0
while True:
    print("Loading" + "." * tick, end="\r")
    if tick < 4:
        tick += 1
        time.sleep(0.4)
    else:
        tick = 0

Вывод, который я получаю:

LoadingLoading.Loading..Loading...Loading....LoadingLoading.Loading..Loading...

до тех пор, пока я не принудительно завершу выполнение. Я не видел проблему, упомянутую в других темах, но если кто-нибудь знает, что может быть причиной проблемы, я был бы ОЧЕНЬ благодарен.

1 Ответ

0 голосов
/ 20 февраля 2020

В зависимости от вашей платформы вам понадобится возврат каретки \r и новая строка \n или просто новая строка. Как правило, я обнаружил, что вы можете просто сделать \r\n

Также в зависимости от того, хотите ли вы, чтобы весь экран очищался между «загрузками», вам, возможно, придется вызывать системный вызов (и это зависит от платформы ) очистить экран между «загрузкой» печатаемых. Это исключило бы необходимость вызова \r\n, потому что каждый раз, когда вы печатаете его, это окно консоли fre sh.

Вы можете посмотреть здесь , как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...