Este es un hilo muy antiguo, pero aquí hay una respuesta muy completa y un código de muestra.
\res la representación de cadena del retorno de carro del juego de caracteres ASCII. Es lo mismo que octal 015[ chr(0o15)] o hexadecimal 0d[ chr(0x0d)] o decimal 13[ chr(13)]. Ver man asciipara una lectura aburrida. It ( \r) es una representación bastante portátil y es lo suficientemente fácil de leer para las personas. Simplemente significa mover el carro en la máquina de escribir hasta el inicio sin avanzar el papel. Es la CRparte de lo CRLFque significa retorno de carro y avance de línea .
print()es una función en Python 3. En Python 2 (cualquier versión que le interese usar), printpuede forzarse a una función importando su definición desde el __future__módulo. El beneficio de la printfunción es que puede especificar qué imprimir al final, anulando el comportamiento predeterminado de \nimprimir una nueva línea al final de cada print()llamada.
sys.stdout.flushle dice a Python que vacíe la salida de la salida estándar , que es donde envía la salida a print()menos que especifique lo contrario. También puede obtener el mismo comportamiento ejecutando python -uo configurando la variable de entorno PYTHONUNBUFFERED=1, omitiendo así las llamadas import sysy sys.stdout.flush(). La cantidad que gana al hacer eso es casi exactamente cero y no es muy fácil de depurar si olvida convenientemente que tiene que hacer ese paso antes de que su aplicación funcione correctamente.
Y una muestra. Tenga en cuenta que esto funciona perfectamente en Python 2 o 3.
from __future__ import print_function
import sys
import time
ANS = 42
FACTORS = {n for n in range(1, ANS + 1) if ANS % n == 0}
for i in range(1, ANS + 1):
if i in FACTORS:
print('\r{0:d}'.format(i), end='')
sys.stdout.flush()
time.sleep(ANS / 100.0)
else:
print()