• [^] # Re: Bufferiser soi-même, ou laisser l'OS faire

    Posté par . En réponse au message écrire la sortie d'un générateur. Évalué à 2.

    Attention, dans votre premier collage de code, vous écrivez 4096 fois le même caractère.

    Oups, faute d'inattention, merci. (et tu peux me tutoyer ;-))

    Bon, comme je préfère sans join(), je propose un autre truc :

    import io
    s = io.BytesIO()
    for i, c in enumerate(gen()):
     s.write(c)
     if (i+1) % 4096 == 0:
     f.write(s)
     s.truncate(0)
    f.write(s)
    

    (bon, du coup une « simple » boucle sur i pourrait être plus lisible peut-être)