[pyar] [Consulta] sys.stderr.flush()

Daniel Moisset dmoisset en machinalis.com
Mie Jun 6 08:49:26 ART 2012


2012/6/5 Mariano Guerra <luismarianoguerra en gmail.com>:
> On Wed, Jun 6, 2012 at 12:23 AM, Apokalyptica Painkiller
> <apokalyptica79 en gmail.com> wrote:
>>
>> Buenas:
>>
>> sys.stderr.flush()
>>
>> Que tarea y/o funcion cumple flush()?
>>
>
> flush le dice al sistema operativo que vacie los buffers que tiene asociados
> a stderr y efectivamente escriba lo que tiene por escribir.
>
> cuando uno escribe algo a stderr (o cualquier lado) el sistema operativo por
> cuestiones de eficiencia pone esas cosas en un buffer y lo escribe cuando
> considera que es mas apropiado.
>

Una corrección (que a fines de la pregunta original creo que no hace
diferencia, pero agrego por completitud). Los susodichos buffers están
en la biblioteca de I/O linkeada dentro del intérprete y en userspace,
no en el sistema operativo. El sistema operativo tiene *otros*
buffers, cuya escritura puede forzarse con la syscall fsync (en
python, disponible a través de os.fsync)

Saludos,
    D.



More information about the pyar mailing list