Lo que quería es imprimir 5 puntos que un punto impreso por segundo con time.sleep(), pero el resultado fue de 5 puntos impreso de una vez después de 5 segundos de retraso.
Intenté imprimir y sys.stdout.write, mismo resultado.Problemas con sys.stdout.write() con time.sleep() en una función
Gracias por cualquier consejo.
import time
import sys
def wait_for(n):
"""Wait for {n} seconds. {n} should be an integer greater than 0."""
if not isinstance(n, int):
print 'n in wait_for(n) should be an integer.'
return
elif n < 1:
print 'n in wait_for(n) should be greater than 0.'
return
for i in range(0, n):
sys.stdout.write('.')
time.sleep(1)
sys.stdout.write('\n')
def main():
wait_for(5) # FIXME: doesn't work as expected
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
print '\nAborted.'
¡Guau, gracias por la respuesta rápida! :-) – philipjkim