<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-07-07 11:11 GMT+01:00 Roberto Polli <span dir="ltr"><<a href="mailto:robipolli@gmail.com" target="_blank">robipolli@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":a6" class="a3s" style="overflow:hidden">ho fatto un semplice tail in python.<br>
 <a href="http://ur1.ca/n1ff6" rel="noreferrer" target="_blank">http://ur1.ca/n1ff6</a><br>
<br>
Vedete qualche problema nella lettura dei dati (usare semplicemente<br>
l'iteratore restituito da open() anziché read() ?</div></blockquote></div><br>Vedo un po' di problemi, ma forse la parola chiave e' "*semplice*. tipo che so'... non usi with.</div><div class="gmail_extra">Riguardo iter vs. read...</div><div class="gmail_extra"><br></div><div class="gmail_extra">Di fatto con l'iteratore stai facendo line buffering, con read vari a chunk. Ora il tail "vero" e' scritto in modo che se gli chiedi di contarti le righe (-n) legge linea per linea, se no legge a blocchetti. Il che vuole dire che puoi sentirti libero di leggere a blocchetti. Ovviamente leggere a blocchetti e' molto piu' efficiente... </div><div class="gmail_extra"><br></div><div class="gmail_extra">Specie perche' tu non stai considerando un dettaglio parecchio importante: in Unix tutto e' un file, anche cose che non sono files. Ora la domanda chiave e'... cosa fa ciascun metodo di input, per dire, quando il coso da cui stai leggendo e' una named pipe (caso assolutamente legittimo)?</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>