Python рассматривает возврат каретки как символ новой строки. Что я могу сделать вместо этого? - PullRequest
1 голос
/ 02 июля 2019

Я хочу написать код, который печатает Loading, а затем стирает его и печатает Loading., тоже стирает и печатает Loading.. и так далее. Поэтому я попытался использовать \r, но python интерпретирует его как \n. Могу ли я использовать символ вместо \r?

Я пытался использовать \b вместо этого, но Python тоже не распознает. Например, если я печатаю qwerty\buiop, он просто печатает qwertyuiop.

Это код, который я пробовал, используя возврат каретки:

import time
for y in range (5):
        for i in range (4):
                print("Loading","."*i, end="\r")
                time.sleep(0.5)

Однако вместо того, чтобы печатать, как я хочу, он печатает как

Загрузка

Загрузка.

Загрузка ..

Идёт загрузка ...

в разные строки.

Как мне решить эту проблему? Могу ли я использовать другой символ?

Я использую IDLE и MacOS.

Большое спасибо!

1 Ответ

1 голос
/ 02 июля 2019

Попробуйте запустить вашу программу в терминале.

Разные оболочки по-разному интерпретируют символ \ r. Многие из них будут записывать каждый отпечаток как отдельный вывод, а не как один текущий поток. Терминал должен интерпретировать это так, как вы думаете

...