[Python] Python e redirezione output

Valerio Pachera sirio81 a gmail.com
Gio 19 Maggio 2011 09:02:41 CEST


Il 18 maggio 2011 15:33, Nicola Larosa <nico a teknico.net> ha scritto:
> Le fate? ;-)
Scusate per gli errori di battitura ma ho scritto un po' di fretta.

> Nel senso che non l'hai notato su altre versioni? O hai provato solo quella?
Per ora ho provato solo su quella.

> Sembra il buffering, prova a passare l'opzione "-u" al comando:
Ok, vi farò sapere.

>> Un mio amico consiglia di scrivere i file di log damite l'oggetto file
>> di python:
> Se fai così, devo chiamare f.flush() dopo f.write(),
Ne deduco che le operazioni di scrittura su file avvengono in realtà
al termine dello script.
Ho fatto anche questa prova (con e senza flush)

f = open('/tmp/prova','w')
f.write ('uno')
f.flush()
time.sleep(10)
f.write('due')
f.flush()
time.sleep (10)
f.close()

su linux: tail -f /tmp/prova

senza flush il file viene scritto solo alla fine.

> o meglio ancora
> usare il modulo standard "logging", anzi è probabilmente il modo migliore
> in generale.

Bene, vado a leggere la documentazione.

Grazie


Maggiori informazioni sulla lista Python