Ao gravar o retorno de carro em um console pycharm, a linha inteira é excluída?

Eu tenho um programa em Python que faz uso extensivo do caractere de avanço de linha para produzir o efeito de uma linha de console de atualização (especificamente uma barra de progresso).

Ao tentar depurar o código no PyCharm, vi que a barra de progresso não é impressa até que esteja pronta.

Após uma inspeção mais aprofundada, verificou-se que, quando um retorno de carro (\r) for impressa, a linha inteira será excluída.

Como a própria biblioteca grava seqüências de caracteres do formulário ({line}\r), Eu sempre recebo uma linha vazia.

Existe alguma maneira de resolver isso usando PyCharm? Atualmente, o que vou fazer é substituirstdout com uma versão que registra a linha atual e a reimprime após o recebimento de um retorno de carro. No entanto, prefiro ter uma maneira simples de fazer isso.

Código de amostra:

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 ('===')

Minha execução é assim:
1. 'xxx' é impresso
[Após 1 segundo]
2. 'ZZ' é impresso
[Após 1 segundo]
3. A linha é excluída
[Após 1 segundo]
4. '===' é impresso e o programa termina

Isso acontece na depuração e no console de execução ao executar este script.

questionAnswers(3)

yourAnswerToTheQuestion