[linux] Re: Non buffered uitvoer in Python met een pipe

Geert-Jan Hut Geert.Jan.Hut op hutsoftware.nl
Za Apr 19 23:18:28 CEST 2008


Cecil Westerhof schreef:
> Op za, 19-04-2008 te 11:07 +0200, schreef Bart-Jan Vrielink:
>   
>> Cecil Westerhof wrote:
>>     
>>> In Python wordt uitvoer (sys.stdout) gebuffered indien de uitvoer niet
>>> na de console wordt gestuurd. Dit is te overrulen met de flag -u. Ik
>>> neem aan dat dit een speciale variabele aanpast, maar ik kan niet vinden
>>> welke. Is er een manier om in het script zelf te zorgen dat uitvoer niet
>>> wordt gebufferd?
>>> Nu moet ik
>>> 	python -u <PATH>/script.py | ...
>>> geven en ik prefereer
>>> 	script.py | ...
>>>       
>> Wat als je bovenaan je script '#!/usr/bin/python -u' of vergelijkbaar zet?
>>     
>
> Op zich werkt dat. Ik werk echter liever met
> 	#!/usr/bin/env python
> Dat maakt je script beter systeem onafhankelijk en hierbij kun je de -u
> flag helaas niet gebruiken. Je krijgt dan:
>         /usr/bin/env: python -u: No such file or directory
>
>   
Misschien een domme vraag, maar als je het script zelf schrijft, kun je 
toch ook op de goede punten een 'flush' inbouwen? Dat zou redelijk 
platform onafhankelijk moeten zijn...

Groet, Geert-Jan.



More information about the Linux mailing list