[Python] Python e redirezione output

Valerio Pachera sirio81 a gmail.com
Mer 18 Maggio 2011 15:26:46 CEST


Ho notato un comportamento piuttosto ambiguo di python 2.5 su debian lenny.

Un semplice script con un ciclo infinito e uno sleep di 60 secondi che
stampa la data ed ora attuali.

script.py >> /var/log/myscript.log 2>&1

Se provo a visualizzare il contenuto del file tramite cat o less lo vedo vuoto.
Se interrompo lo script tramite ctrl+c, vedo comparire i print delle
deta ed il trace back del ctrl+c.


A dire il vero, non sempre fa così. A volte, il file di log risulta
leggibile (cioè vedo i print delle date) ma, ad un certo punto, le
fate smettono di essere scritte.
Il processo python è ancora attivo.
Sembra proprio che si interrompa la redirezione.
Nota: non c'è logrotate su quel file di log.

Mi sapete dire qualcosa a riguardo?

Un mio amico consiglia di scrivere i file di log damite l'oggetto file di python
f = open('/var/log/myscript.log')

Questa soluzione però non mi entusiasma.

Grazie.


Maggiori informazioni sulla lista Python