При записи возврата каретки в консоль pycharm вся строка удаляется?

У меня есть программа на Python, которая широко использует символ перевода строки для создания эффекта обновления строки консоли (в частности, индикатор выполнения).

При попытке отладки кода в PyCharm я увидел, что индикатор выполнения не печатается, пока не будет сделано.

При дальнейшем осмотре выяснилось, что при возврате каретки (\r), вся строка удалена.

Потому что сама библиотека пишет строки вида ({line}\rЯ всегда получаю пустую строку.

Есть ли способ решить эту проблему с помощью PyCharm? В настоящее время я буду заменятьstdout с версией, которая записывает текущую строку и перепечатывает ее после получения возврата каретки. Однако я бы предпочел простой способ сделать это.

Образец кода:

import sys
sys.stdout.write('xxx')
sys.stdout.flush()
time.sleep(1)
sys.stdout.write('\rZZ')
sys.stdout.flush()
time.sleep(1)
sys.stdout.write('yyy\r')
sys.stdout.flush()

time.sleep(1)

print ('===')

Мой пробег выглядит так:
1. «ххх» печатается
[Через 1 секунду]
2. «ZZ» печатается
[Через 1 секунду]
3. Строка удалена
[Через 1 секунду]
4. «===» печатается и программа завершается

Это происходит как в отладке, так и в консоли запуска при запуске этого сценария.

Ответы на вопрос(3)

Ваш ответ на вопрос