Probleme mit sys.stdout.write () mit time.sleep () in einer Funktion

Was ich wollte, ist das Drucken von 5 Punkten, die mit time.sleep () pro Sekunde gedruckt wurden, aber das Ergebnis war, dass 5 Punkte sofort nach 5 Sekunden Verzögerung gedruckt wurden.
Versuchte sowohl print als auch sys.stdout.write, das gleiche Ergebnis.

Vielen Dank für alle Ratschläge.

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.'

Antworten auf die Frage(4)

Ihre Antwort auf die Frage