• # flush

    Posté par . En réponse au message retour chariot. Évalué à 3.

    ce que tu veux, c'est flusher stdout après le premier print.

    python "flushe" automatiquement quand tu ajoute un retour chariot, c'est pourquoi ta seconde solution marche.
    Tu peut aussi forcer python a ne pas bufferiser stdout (option -u en ligne de commande)
    ou le former dans le programme a flusher quand tu veux, avec

    import time,sys
    print "aa"
    sys.stdout.flush()
    time.sleep(1)
    print "bb"
    sys.stdout.flush()

    les "aa" et "bb" s'afficheront dans les temps.

    (en fait, ça se passe en gros comme en C...)