Python sys.stderr flush frequency

¿Con qué frecuencia sys.stderr vacía su búfer y este estándar se encuentra entre los diferentes entornos?

>>> import sys >>> sys.__stderr__ <open file '', mode 'w' at 0x2b4fcb7ac270> 

Veo que es solo un tipo de archivo estándar, pero no sé qué valor de almacenamiento en búfer se supone que es. dir() tampoco parece proporcionar información útil.

En Python 2, no puedo encontrar en sys.stderr la documentación se especifica el almacenamiento en búfer de sys.stderr . Yo esperaría el mismo comportamiento que stderr en C que no tiene buffer (excepto Windows) y no sé si el estándar c99 lo manda. El flujo de error estándar no está completamente almacenado en búfer en POSIX. -u opción -u obliga a que las secuencias estándar no estén almacenadas en Python 2.

En Python 3 :

Cuando son interactivas, las transmisiones estándar se almacenan en línea. De lo contrario, se almacenan en bloques como los archivos de texto normales. Puede anular este valor con la opción de línea de comandos -u .

-u opción de línea de comandos :

Forzar la capa binaria de las secuencias stdout y stderr (que está disponible como su atributo de buffer ) para que no estén en búfer. La capa de E / S de texto seguirá estando en el búfer de línea si se escribe en la consola, o en el búfer de bloque si se redirige a un archivo no interactivo.